Add enhanced terminal history panel UI with animations, keyboard navigation, advanced filtering, search highlighting, and improved storage metrics display with detailed filesystem tables and ZFS/LVM support
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-21 12:31:08 -05:00
parent 5ff7017aaa
commit 6d8432169b
137 changed files with 30407 additions and 651 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** | `d300c8517dc548e1bd5b622e71c62716` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:00:00.010513+00:00 |
| **Fin** | 2025-12-20T00:00:22.259758+00:00 |
| **Durée** | 22.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.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: [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.003448", "end": "2025-12-19 19:00:10.278736", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.275288", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 24 days, 6:11, 1 user, load average: 0.81, 0.88, 0.83", "stdout_lines": [" 19:00:10 up 24 days, 6:11, 1 user, load average: 0.81, 0.88, 0.83"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004103", "end": "2025-12-19 19:00:10.283373", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.279270", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 24 days, 8:10, 1 user, load average: 0.16, 0.14, 0.05", "stdout_lines": [" 19:00:10 up 24 days, 8:10, 1 user, load average: 0.16, 0.14, 0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003949", "end": "2025-12-19 19:00:10.299501", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.295552", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 24 days, 7:24, 1 user, load average: 0.84, 0.72, 0.63", "stdout_lines": [" 19:00:10 up 24 days, 7:24, 1 user, load average: 0.84, 0.72, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002829", "end": "2025-12-19 19:00:10.307854", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.305025", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 9:44, 1 user, load average: 0.23, 0.33, 0.33", "stdout_lines": [" 19:00:10 up 9:44, 1 user, load average: 0.23, 0.33, 0.33"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003135", "end": "2025-12-19 18:59:41.988535", "msg": "", "rc": 0, "start": "2025-12-19 18:59:41.985400", "stderr": "", "stderr_lines": [], "stdout": " 18:59:41 up 13 days, 6:49, 0 user, load average: 0.00, 0.11, 0.14", "stdout_lines": [" 18:59:41 up 13 days, 6:49, 0 user, load average: 0.00, 0.11, 0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008279", "end": "2025-12-19 19:00:10.955832", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.947553", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 196 days, 10:33, 1 user, load average: 0.18, 0.21, 0.15", "stdout_lines": [" 19:00:10 up 196 days, 10:33, 1 user, load average: 0.18, 0.21, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009859", "end": "2025-12-19 19:00:10.988657", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.978798", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 196 days, 10:33, 1 user, load average: 0.39, 0.28, 0.21", "stdout_lines": [" 19:00:10 up 196 days, 10:33, 1 user, load average: 0.39, 0.28, 0.21"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004318", "end": "2025-12-19 19:00:11.269068", "msg": "", "rc": 0, "start": "2025-12-19 19:00:10.264750", "stderr": "", "stderr_lines": [], "stdout": " 19:00:10 up 24 days, 5:51, 1 user, load average: 0.43, 0.39, 0.37", "stdout_lines": [" 19:00:10 up 24 days, 5:51, 1 user, load average: 0.43, 0.39, 0.37"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003574", "end": "2025-12-19 18:59:35.219751", "msg": "", "rc": 0, "start": "2025-12-19 18:59:35.216177", "stderr": "", "stderr_lines": [], "stdout": " 18:59:35 up 20 days, 3:01, 0 user, load average: 0.05, 0.04, 0.00", "stdout_lines": [" 18:59:35 up 20 days, 3:01, 0 user, load average: 0.05, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004483", "end": "2025-12-19 19:00:11.453497", "msg": "", "rc": 0, "start": "2025-12-19 19:00:11.449014", "stderr": "", "stderr_lines": [], "stdout": " 19:00:11 up 9:43, 1 user, load average: 0.22, 0.07, 0.02", "stdout_lines": [" 19:00:11 up 9:43, 1 user, load average: 0.22, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003158", "end": "2025-12-19 18:59:38.148736", "msg": "", "rc": 0, "start": "2025-12-19 18:59:38.145578", "stderr": "", "stderr_lines": [], "stdout": " 18:59:38 up 22 days, 21:53, 0 user, load average: 0.46, 0.56, 0.54", "stdout_lines": [" 18:59:38 up 22 days, 21:53, 0 user, load average: 0.46, 0.56, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004356", "end": "2025-12-19 16:00:11.689103", "msg": "", "rc": 0, "start": "2025-12-19 16:00:11.684747", "stderr": "", "stderr_lines": [], "stdout": " 4:00PM up 24 days, 5:49, 1 user, load averages: 0.43, 0.22, 0.19", "stdout_lines": [" 4:00PM up 24 days, 5:49, 1 user, load averages: 0.43, 0.22, 0.19"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004015", "end": "2025-12-19 18:59:45.584292", "msg": "", "rc": 0, "start": "2025-12-19 18:59:45.580277", "stderr": "", "stderr_lines": [], "stdout": " 18:59:45 up 19 days, 8:15, 0 user, load average: 0.33, 0.37, 0.36", "stdout_lines": [" 18:59:45 up 19 days, 8:15, 0 user, load average: 0.33, 0.37, 0.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019355", "end": "2025-12-19 19:00:11.664645", "msg": "", "rc": 0, "start": "2025-12-19 19:00:11.645290", "stderr": "", "stderr_lines": [], "stdout": " 19:00:11 up 17 days, 8:26, 1 user, load average: 0.17, 0.12, 0.09", "stdout_lines": [" 19:00:11 up 17 days, 8:26, 1 user, load average: 0.17, 0.12, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008682", "end": "2025-12-19 19:00:12.932090", "msg": "", "rc": 0, "start": "2025-12-19 19:00:12.923408", "stderr": "", "stderr_lines": [], "stdout": " 19:00:12 up 5:20, 1 user, load average: 1.54, 1.23, 1.19", "stdout_lines": [" 19:00:12 up 5:20, 1 user, load average: 1.54, 1.23, 1.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003761", "end": "2025-12-19 19:00:11.890983", "msg": "", "rc": 0, "start": "2025-12-19 19:00:11.887222", "stderr": "", "stderr_lines": [], "stdout": " 19:00:11 up 9:43, 1 user, load average: 0.02, 0.05, 0.05", "stdout_lines": [" 19:00:11 up 9:43, 1 user, load average: 0.02, 0.05, 0.05"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004299", "end": "2025-12-19 19:00:12.303116", "msg": "", "rc": 0, "start": "2025-12-19 19:00:12.298817", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004062", "end": "2025-12-19 19:00:12.312670", "msg": "", "rc": 0, "start": "2025-12-19 19:00:12.308608", "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-19 19:00:12.317804", "msg": "", "rc": 0, "start": "2025-12-19 19:00:12.312926", "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.004586", "end": "2025-12-19 19:00:12.356168", "msg": "", "rc": 0, "start": "2025-12-19 19:00:12.351582", "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.005553", "end": "2025-12-19 19:00:12.364485", "msg": "", "rc": 0, "start": "2025-12-19 19:00:12.358932", "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.005488", "end": "2025-12-19 18:59:44.078002", "msg": "", "rc": 0, "start": "2025-12-19 18:59:44.072514", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005648", "end": "2025-12-19 18:59:36.869603", "msg": "", "rc": 0, "start": "2025-12-19 18:59:36.863955", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010495", "end": "2025-12-19 19:00:13.046219", "msg": "", "rc": 0, "start": "2025-12-19 19:00:13.035724", "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.011678", "end": "2025-12-19 19:00:13.083145", "msg": "", "rc": 0, "start": "2025-12-19 19:00:13.071467", "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.005669", "end": "2025-12-19 19:00:13.300793", "msg": "", "rc": 0, "start": "2025-12-19 19:00:13.295124", "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.005373", "end": "2025-12-19 18:59:40.029194", "msg": "", "rc": 0, "start": "2025-12-19 18:59:40.023821", "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.005284", "end": "2025-12-19 16:00:13.540755", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.535471", "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.006772", "end": "2025-12-19 18:59:47.436596", "msg": "", "rc": 0, "start": "2025-12-19 18:59:47.429824", "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.005438", "end": "2025-12-19 19:00:13.717559", "msg": "", "rc": 0, "start": "2025-12-19 19:00:13.712121", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021460", "end": "2025-12-19 19:00:15.001374", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.979914", "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.025384", "end": "2025-12-19 19:00:13.692438", "msg": "", "rc": 0, "start": "2025-12-19 19:00:13.667054", "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.004066", "end": "2025-12-19 19:00:14.194505", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.190439", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004149", "end": "2025-12-19 19:00:14.210295", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.206146", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004826", "end": "2025-12-19 19:00:14.246601", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.241775", "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.005803", "end": "2025-12-19 19:00:14.243383", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.237580", "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.005538", "end": "2025-12-19 19:00:14.265325", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.259787", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004142", "end": "2025-12-19 18:59:45.960380", "msg": "", "rc": 0, "start": "2025-12-19 18:59:45.956238", "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.004319", "end": "2025-12-19 18:59:38.741928", "msg": "", "rc": 0, "start": "2025-12-19 18:59:38.737609", "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.010897", "end": "2025-12-19 19:00:14.893009", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.882112", "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.011849", "end": "2025-12-19 19:00:14.927964", "msg": "", "rc": 0, "start": "2025-12-19 19:00:14.916115", "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.005750", "end": "2025-12-19 19:00:15.194603", "msg": "", "rc": 0, "start": "2025-12-19 19:00:15.188853", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004160", "end": "2025-12-19 18:59:41.922514", "msg": "", "rc": 0, "start": "2025-12-19 18:59:41.918354", "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.005078", "end": "2025-12-19 16:00:15.397064", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:00:15.391986", "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.005351", "end": "2025-12-19 18:59:49.257158", "msg": "", "rc": 0, "start": "2025-12-19 18:59:49.251807", "stderr": "", "stderr_lines": [], "stdout": "63.4%", "stdout_lines": ["63.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.005491", "end": "2025-12-19 19:00:15.620255", "msg": "", "rc": 0, "start": "2025-12-19 19:00:15.614764", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.009936", "end": "2025-12-19 19:00:17.053463", "msg": "", "rc": 0, "start": "2025-12-19 19:00:17.043527", "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.025716", "end": "2025-12-19 19:00:15.597751", "msg": "", "rc": 0, "start": "2025-12-19 19:00:15.572035", "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.005277", "end": "2025-12-19 19:00:16.119963", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.114686", "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.004849", "end": "2025-12-19 19:00:16.137848", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.132999", "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.005991", "end": "2025-12-19 19:00:16.143517", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.137526", "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.003267", "end": "2025-12-19 19:00:16.171489", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.168222", "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.006366", "end": "2025-12-19 19:00:16.192845", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.186479", "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.002655", "end": "2025-12-19 18:59:47.920934", "msg": "", "rc": 0, "start": "2025-12-19 18:59:47.918279", "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.003379", "end": "2025-12-19 18:59:40.656536", "msg": "", "rc": 0, "start": "2025-12-19 18:59:40.653157", "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-19 19:00:16.804671", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.792908", "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.012843", "end": "2025-12-19 19:00:16.844620", "msg": "", "rc": 0, "start": "2025-12-19 19:00:16.831777", "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.003322", "end": "2025-12-19 19:00:17.150573", "msg": "", "rc": 0, "start": "2025-12-19 19:00:17.147251", "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.002736", "end": "2025-12-19 18:59:43.861804", "msg": "", "rc": 0, "start": "2025-12-19 18:59:43.859068", "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.003843", "end": "2025-12-19 16:00:17.304773", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.300930", "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.002663", "end": "2025-12-19 18:59:51.167932", "msg": "", "rc": 0, "start": "2025-12-19 18:59:51.165269", "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.004478", "end": "2025-12-19 19:00:19.175984", "msg": "", "rc": 0, "start": "2025-12-19 19:00:19.171506", "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.002962", "end": "2025-12-19 19:00:17.573503", "msg": "", "rc": 0, "start": "2025-12-19 19:00:17.570541", "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.028965", "end": "2025-12-19 19:00:17.508570", "msg": "", "rc": 0, "start": "2025-12-19 19:00:17.479605", "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.004122", "end": "2025-12-19 19:00:18.031297", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.027175", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
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-19 19:00:18.034839", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.030686", "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.005029", "end": "2025-12-19 19:00:18.057179", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.052150", "stderr": "", "stderr_lines": [], "stdout": "0.82", "stdout_lines": ["0.82"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005006", "end": "2025-12-19 19:00:18.076119", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.071113", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005602", "end": "2025-12-19 19:00:18.089269", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.083667", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
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-19 18:59:49.778109", "msg": "", "rc": 0, "start": "2025-12-19 18:59:49.774011", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
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.005189", "end": "2025-12-19 18:59:42.565540", "msg": "", "rc": 0, "start": "2025-12-19 18:59:42.560351", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.010077", "end": "2025-12-19 19:00:18.822911", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.812834", "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.011265", "end": "2025-12-19 19:00:18.851219", "msg": "", "rc": 0, "start": "2025-12-19 19:00:18.839954", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005653", "end": "2025-12-19 19:00:19.006221", "msg": "", "rc": 0, "start": "2025-12-19 19:00:19.000568", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004953", "end": "2025-12-19 18:59:45.748937", "msg": "", "rc": 0, "start": "2025-12-19 18:59:45.743984", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004480", "end": "2025-12-19 18:59:53.181651", "msg": "", "rc": 0, "start": "2025-12-19 18:59:53.177171", "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.005968", "end": "2025-12-19 16:00:19.335660", "msg": "", "rc": 0, "start": "2025-12-19 16:00:19.329692", "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.005182", "end": "2025-12-19 19:00:19.434686", "msg": "", "rc": 0, "start": "2025-12-19 19:00:19.429504", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009784", "end": "2025-12-19 19:00:21.263102", "msg": "", "rc": 0, "start": "2025-12-19 19:00:21.253318", "stderr": "", "stderr_lines": [], "stdout": "1.92", "stdout_lines": ["1.92"]}
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.024605", "end": "2025-12-19 19:00:19.415472", "msg": "", "rc": 0, "start": "2025-12-19 19:00:19.390867", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 9:44, 1 user, load average: 0.23, 0.33, 0.33\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.30\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 24 days, 5:51, 1 user, load average: 0.43, 0.39, 0.37\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.40\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 24 days, 6:11, 1 user, load average: 0.81, 0.88, 0.83\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.82\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 24 days, 7:24, 1 user, load average: 0.84, 0.72, 0.63\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.87\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 24 days, 8:10, 1 user, load average: 0.16, 0.14, 0.05\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:11 up 17 days, 8:26, 1 user, load average: 0.17, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.37\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 196 days, 10:33, 1 user, load average: 0.39, 0.28, 0.21\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.41\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:10 up 196 days, 10:33, 1 user, load average: 0.18, 0.21, 0.15\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.15\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 18:59:41 up 13 days, 6:49, 0 user, load average: 0.00, 0.11, 0.14\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 18:59:35 up 20 days, 3:01, 0 user, load average: 0.05, 0.04, 0.00\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:11 up 9:43, 1 user, load average: 0.22, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 18:59:38 up 22 days, 21:53, 0 user, load average: 0.46, 0.56, 0.54\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 18:59:45 up 19 days, 8:15, 0 user, load average: 0.33, 0.37, 0.36\nDisk Usage: 76%\nMemory Usage: 63.4%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:00PM up 24 days, 5:49, 1 user, load averages: 0.43, 0.22, 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: 19:00:11 up 9:43, 1 user, load average: 0.02, 0.05, 0.05\nDisk Usage: 79%\nMemory Usage: 12.9%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:00:12 up 5:20, 1 user, load average: 1.54, 1.23, 1.19\nDisk Usage: 1%\nMemory Usage: 12.8%\nCPU Load: 1.92\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-20T00:00:22.323282+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d3d3e5a06dcc4057b9033dfd112c7619` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:05:00.002548+00:00 |
| **Fin** | 2025-12-20T00:05:21.507013+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
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: [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.003406", "end": "2025-12-19 19:05:09.786854", "msg": "", "rc": 0, "start": "2025-12-19 19:05:09.783448", "stderr": "", "stderr_lines": [], "stdout": " 19:05:09 up 24 days, 5:56, 1 user, load average: 0.44, 0.46, 0.40", "stdout_lines": [" 19:05:09 up 24 days, 5:56, 1 user, load average: 0.44, 0.46, 0.40"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003605", "end": "2025-12-19 19:05:09.799476", "msg": "", "rc": 0, "start": "2025-12-19 19:05:09.795871", "stderr": "", "stderr_lines": [], "stdout": " 19:05:09 up 24 days, 8:15, 1 user, load average: 0.01, 0.05, 0.02", "stdout_lines": [" 19:05:09 up 24 days, 8:15, 1 user, load average: 0.01, 0.05, 0.02"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003570", "end": "2025-12-19 19:05:09.809315", "msg": "", "rc": 0, "start": "2025-12-19 19:05:09.805745", "stderr": "", "stderr_lines": [], "stdout": " 19:05:09 up 24 days, 6:16, 1 user, load average: 0.72, 0.81, 0.81", "stdout_lines": [" 19:05:09 up 24 days, 6:16, 1 user, load average: 0.72, 0.81, 0.81"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004273", "end": "2025-12-19 19:05:09.820564", "msg": "", "rc": 0, "start": "2025-12-19 19:05:09.816291", "stderr": "", "stderr_lines": [], "stdout": " 19:05:09 up 24 days, 7:29, 1 user, load average: 1.10, 0.82, 0.69", "stdout_lines": [" 19:05:09 up 24 days, 7:29, 1 user, load average: 1.10, 0.82, 0.69"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002857", "end": "2025-12-19 19:05:09.829127", "msg": "", "rc": 0, "start": "2025-12-19 19:05:09.826270", "stderr": "", "stderr_lines": [], "stdout": " 19:05:09 up 9:49, 1 user, load average: 0.12, 0.19, 0.26", "stdout_lines": [" 19:05:09 up 9:49, 1 user, load average: 0.12, 0.19, 0.26"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002921", "end": "2025-12-19 19:04:41.530115", "msg": "", "rc": 0, "start": "2025-12-19 19:04:41.527194", "stderr": "", "stderr_lines": [], "stdout": " 19:04:41 up 13 days, 6:54, 0 user, load average: 0.02, 0.07, 0.11", "stdout_lines": [" 19:04:41 up 13 days, 6:54, 0 user, load average: 0.02, 0.07, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003707", "end": "2025-12-19 19:04:34.322115", "msg": "", "rc": 0, "start": "2025-12-19 19:04:34.318408", "stderr": "", "stderr_lines": [], "stdout": " 19:04:34 up 20 days, 3:06, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 19:04:34 up 20 days, 3:06, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008437", "end": "2025-12-19 19:05:10.483695", "msg": "", "rc": 0, "start": "2025-12-19 19:05:10.475258", "stderr": "", "stderr_lines": [], "stdout": " 19:05:10 up 196 days, 10:38, 1 user, load average: 0.32, 0.24, 0.18", "stdout_lines": [" 19:05:10 up 196 days, 10:38, 1 user, load average: 0.32, 0.24, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009588", "end": "2025-12-19 19:05:10.520447", "msg": "", "rc": 0, "start": "2025-12-19 19:05:10.510859", "stderr": "", "stderr_lines": [], "stdout": " 19:05:10 up 196 days, 10:38, 1 user, load average: 0.22, 0.25, 0.21", "stdout_lines": [" 19:05:10 up 196 days, 10:38, 1 user, load average: 0.22, 0.25, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004426", "end": "2025-12-19 19:05:10.770436", "msg": "", "rc": 0, "start": "2025-12-19 19:05:10.766010", "stderr": "", "stderr_lines": [], "stdout": " 19:05:10 up 9:48, 1 user, load average: 0.07, 0.07, 0.02", "stdout_lines": [" 19:05:10 up 9:48, 1 user, load average: 0.07, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003088", "end": "2025-12-19 19:04:37.502296", "msg": "", "rc": 0, "start": "2025-12-19 19:04:37.499208", "stderr": "", "stderr_lines": [], "stdout": " 19:04:37 up 22 days, 21:58, 0 user, load average: 1.26, 0.84, 0.65", "stdout_lines": [" 19:04:37 up 22 days, 21:58, 0 user, load average: 1.26, 0.84, 0.65"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004474", "end": "2025-12-19 16:05:10.973946", "msg": "", "rc": 0, "start": "2025-12-19 16:05:10.969472", "stderr": "", "stderr_lines": [], "stdout": " 4:05PM up 24 days, 5:54, 1 user, load averages: 0.25, 0.24, 0.20", "stdout_lines": [" 4:05PM up 24 days, 5:54, 1 user, load averages: 0.25, 0.24, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003102", "end": "2025-12-19 19:04:44.836173", "msg": "", "rc": 0, "start": "2025-12-19 19:04:44.833071", "stderr": "", "stderr_lines": [], "stdout": " 19:04:44 up 19 days, 8:20, 0 user, load average: 0.41, 0.41, 0.37", "stdout_lines": [" 19:04:44 up 19 days, 8:20, 0 user, load average: 0.41, 0.41, 0.37"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003868", "end": "2025-12-19 19:05:11.195314", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.191446", "stderr": "", "stderr_lines": [], "stdout": " 19:05:11 up 9:48, 1 user, load average: 0.00, 0.02, 0.03", "stdout_lines": [" 19:05:11 up 9:48, 1 user, load average: 0.00, 0.02, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009609", "end": "2025-12-19 19:05:12.174341", "msg": "", "rc": 0, "start": "2025-12-19 19:05:12.164732", "stderr": "", "stderr_lines": [], "stdout": " 19:05:12 up 5:26, 1 user, load average: 1.20, 1.21, 1.19", "stdout_lines": [" 19:05:12 up 5:26, 1 user, load average: 1.20, 1.21, 1.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019526", "end": "2025-12-19 19:05:11.165104", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.145578", "stderr": "", "stderr_lines": [], "stdout": " 19:05:11 up 17 days, 8:31, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 19:05:11 up 17 days, 8:31, 1 user, load average: 0.23, 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.004170", "end": "2025-12-19 19:05:11.679861", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.675691", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004062", "end": "2025-12-19 19:05:11.706408", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.702346", "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.004812", "end": "2025-12-19 19:05:11.737641", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.732829", "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.005295", "end": "2025-12-19 19:05:11.735509", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.730214", "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.005580", "end": "2025-12-19 19:05:11.749599", "msg": "", "rc": 0, "start": "2025-12-19 19:05:11.744019", "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.004982", "end": "2025-12-19 19:04:43.433486", "msg": "", "rc": 0, "start": "2025-12-19 19:04:43.428504", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005684", "end": "2025-12-19 19:04:36.250932", "msg": "", "rc": 0, "start": "2025-12-19 19:04:36.245248", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011592", "end": "2025-12-19 19:05:12.454373", "msg": "", "rc": 0, "start": "2025-12-19 19:05:12.442781", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010541", "end": "2025-12-19 19:05:12.467299", "msg": "", "rc": 0, "start": "2025-12-19 19:05:12.456758", "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.005727", "end": "2025-12-19 19:05:12.663787", "msg": "", "rc": 0, "start": "2025-12-19 19:05:12.658060", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005395", "end": "2025-12-19 19:04:39.424041", "msg": "", "rc": 0, "start": "2025-12-19 19:04:39.418646", "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.005448", "end": "2025-12-19 16:05:12.923845", "msg": "", "rc": 0, "start": "2025-12-19 16:05:12.918397", "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.004882", "end": "2025-12-19 19:04:46.800347", "msg": "", "rc": 0, "start": "2025-12-19 19:04:46.795465", "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.005237", "end": "2025-12-19 19:05:13.093476", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.088239", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023918", "end": "2025-12-19 19:05:14.277910", "msg": "", "rc": 0, "start": "2025-12-19 19:05:14.253992", "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.025111", "end": "2025-12-19 19:05:13.062185", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.037074", "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.004190", "end": "2025-12-19 19:05:13.598885", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.594695", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004386", "end": "2025-12-19 19:05:13.607946", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.603560", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004652", "end": "2025-12-19 19:05:13.647276", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.642624", "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.005271", "end": "2025-12-19 19:05:13.660102", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.654831", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004936", "end": "2025-12-19 19:05:13.664226", "msg": "", "rc": 0, "start": "2025-12-19 19:05:13.659290", "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.003918", "end": "2025-12-19 19:04:45.355948", "msg": "", "rc": 0, "start": "2025-12-19 19:04:45.352030", "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.004732", "end": "2025-12-19 19:04:38.127179", "msg": "", "rc": 0, "start": "2025-12-19 19:04:38.122447", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.010999", "end": "2025-12-19 19:05:14.295223", "msg": "", "rc": 0, "start": "2025-12-19 19:05:14.284224", "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.012043", "end": "2025-12-19 19:05:14.311304", "msg": "", "rc": 0, "start": "2025-12-19 19:05:14.299261", "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.005699", "end": "2025-12-19 19:05:14.600156", "msg": "", "rc": 0, "start": "2025-12-19 19:05:14.594457", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004299", "end": "2025-12-19 19:04:41.318212", "msg": "", "rc": 0, "start": "2025-12-19 19:04:41.313913", "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.005255", "end": "2025-12-19 16:05:14.759326", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:05:14.754071", "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.005177", "end": "2025-12-19 19:04:48.656638", "msg": "", "rc": 0, "start": "2025-12-19 19:04:48.651461", "stderr": "", "stderr_lines": [], "stdout": "60.5%", "stdout_lines": ["60.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.005323", "end": "2025-12-19 19:05:15.027944", "msg": "", "rc": 0, "start": "2025-12-19 19:05:15.022621", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.010118", "end": "2025-12-19 19:05:16.394634", "msg": "", "rc": 0, "start": "2025-12-19 19:05:16.384516", "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.025713", "end": "2025-12-19 19:05:14.980272", "msg": "", "rc": 0, "start": "2025-12-19 19:05:14.954559", "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.005303", "end": "2025-12-19 19:05:15.499102", "msg": "", "rc": 0, "start": "2025-12-19 19:05:15.493799", "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.004847", "end": "2025-12-19 19:05:15.503624", "msg": "", "rc": 0, "start": "2025-12-19 19:05:15.498777", "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.005738", "end": "2025-12-19 19:05:15.535321", "msg": "", "rc": 0, "start": "2025-12-19 19:05:15.529583", "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.003280", "end": "2025-12-19 19:05:15.546091", "msg": "", "rc": 0, "start": "2025-12-19 19:05:15.542811", "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.006521", "end": "2025-12-19 19:05:15.552472", "msg": "", "rc": 0, "start": "2025-12-19 19:05:15.545951", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002855", "end": "2025-12-19 19:04:47.211534", "msg": "", "rc": 0, "start": "2025-12-19 19:04:47.208679", "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-19 19:04:40.030457", "msg": "", "rc": 0, "start": "2025-12-19 19:04:40.027314", "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.011693", "end": "2025-12-19 19:05:16.208290", "msg": "", "rc": 0, "start": "2025-12-19 19:05:16.196597", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013257", "end": "2025-12-19 19:05:16.222912", "msg": "", "rc": 0, "start": "2025-12-19 19:05:16.209655", "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.003027", "end": "2025-12-19 19:05:16.449738", "msg": "", "rc": 0, "start": "2025-12-19 19:05:16.446711", "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.002999", "end": "2025-12-19 19:04:43.202874", "msg": "", "rc": 0, "start": "2025-12-19 19:04:43.199875", "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.004029", "end": "2025-12-19 16:05:16.682925", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.678896", "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.002669", "end": "2025-12-19 19:04:50.552049", "msg": "", "rc": 0, "start": "2025-12-19 19:04:50.549380", "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.002826", "end": "2025-12-19 19:05:16.862868", "msg": "", "rc": 0, "start": "2025-12-19 19:05:16.860042", "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.004496", "end": "2025-12-19 19:05:18.449079", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.444583", "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-19 19:05:16.881357", "msg": "", "rc": 0, "start": "2025-12-19 19:05:16.852898", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.004184", "end": "2025-12-19 19:05:17.393106", "msg": "", "rc": 0, "start": "2025-12-19 19:05:17.388922", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.004187", "end": "2025-12-19 19:05:17.425459", "msg": "", "rc": 0, "start": "2025-12-19 19:05:17.421272", "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.004780", "end": "2025-12-19 19:05:17.438196", "msg": "", "rc": 0, "start": "2025-12-19 19:05:17.433416", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005686", "end": "2025-12-19 19:05:17.458581", "msg": "", "rc": 0, "start": "2025-12-19 19:05:17.452895", "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.005702", "end": "2025-12-19 19:05:17.478267", "msg": "", "rc": 0, "start": "2025-12-19 19:05:17.472565", "stderr": "", "stderr_lines": [], "stdout": "1.01", "stdout_lines": ["1.01"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005139", "end": "2025-12-19 19:04:49.135588", "msg": "", "rc": 0, "start": "2025-12-19 19:04:49.130449", "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.005461", "end": "2025-12-19 19:04:41.932648", "msg": "", "rc": 0, "start": "2025-12-19 19:04:41.927187", "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.010038", "end": "2025-12-19 19:05:18.186042", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.176004", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011112", "end": "2025-12-19 19:05:18.198652", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.187540", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005473", "end": "2025-12-19 19:05:18.362143", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.356670", "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.005037", "end": "2025-12-19 19:04:45.112736", "msg": "", "rc": 0, "start": "2025-12-19 19:04:45.107699", "stderr": "", "stderr_lines": [], "stdout": "1.24", "stdout_lines": ["1.24"]}
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.004298", "end": "2025-12-19 19:04:52.521429", "msg": "", "rc": 0, "start": "2025-12-19 19:04:52.517131", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005876", "end": "2025-12-19 16:05:18.681983", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.676107", "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.005666", "end": "2025-12-19 19:05:18.814168", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.808502", "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.008809", "end": "2025-12-19 19:05:20.576997", "msg": "", "rc": 0, "start": "2025-12-19 19:05:20.568188", "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.024284", "end": "2025-12-19 19:05:18.774502", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.750218", "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: 19:05:09 up 24 days, 5:56, 1 user, load average: 0.44, 0.46, 0.40\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.45\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:09 up 9:49, 1 user, load average: 0.12, 0.19, 0.26\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.11\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:09 up 24 days, 6:16, 1 user, load average: 0.72, 0.81, 0.81\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.90\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:09 up 24 days, 7:29, 1 user, load average: 1.10, 0.82, 0.69\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 1.01\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:09 up 24 days, 8:15, 1 user, load average: 0.01, 0.05, 0.02\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:11 up 17 days, 8:31, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.28\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:10 up 196 days, 10:38, 1 user, load average: 0.22, 0.25, 0.21\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.26\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:10 up 196 days, 10:38, 1 user, load average: 0.32, 0.24, 0.18\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.42\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:04:41 up 13 days, 6:54, 0 user, load average: 0.02, 0.07, 0.11\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:04:34 up 20 days, 3:06, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:10 up 9:48, 1 user, load average: 0.07, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:04:37 up 22 days, 21:58, 0 user, load average: 1.26, 0.84, 0.65\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 1.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:04:44 up 19 days, 8:20, 0 user, load average: 0.41, 0.41, 0.37\nDisk Usage: 76%\nMemory Usage: 60.5%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:05PM up 24 days, 5:54, 1 user, load averages: 0.25, 0.24, 0.20\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:12 up 5:26, 1 user, load average: 1.20, 1.21, 1.19\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:05:11 up 9:48, 1 user, load average: 0.00, 0.02, 0.03\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.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-20T00:05:21.574065+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e2cf049aa5934daeb2b5c747875e909e` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:10:00.000940+00:00 |
| **Fin** | 2025-12-20T00:10:21.457521+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003724", "end": "2025-12-19 19:10:09.605393", "msg": "", "rc": 0, "start": "2025-12-19 19:10:09.601669", "stderr": "", "stderr_lines": [], "stdout": " 19:10:09 up 24 days, 8:20, 1 user, load average: 0.01, 0.04, 0.02", "stdout_lines": [" 19:10:09 up 24 days, 8:20, 1 user, load average: 0.01, 0.04, 0.02"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003355", "end": "2025-12-19 19:10:09.604084", "msg": "", "rc": 0, "start": "2025-12-19 19:10:09.600729", "stderr": "", "stderr_lines": [], "stdout": " 19:10:09 up 24 days, 6:01, 1 user, load average: 0.57, 0.47, 0.42", "stdout_lines": [" 19:10:09 up 24 days, 6:01, 1 user, load average: 0.57, 0.47, 0.42"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003463", "end": "2025-12-19 19:10:09.607699", "msg": "", "rc": 0, "start": "2025-12-19 19:10:09.604236", "stderr": "", "stderr_lines": [], "stdout": " 19:10:09 up 24 days, 6:21, 1 user, load average: 0.89, 0.84, 0.82", "stdout_lines": [" 19:10:09 up 24 days, 6:21, 1 user, load average: 0.89, 0.84, 0.82"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002977", "end": "2025-12-19 19:10:09.632353", "msg": "", "rc": 0, "start": "2025-12-19 19:10:09.629376", "stderr": "", "stderr_lines": [], "stdout": " 19:10:09 up 9:54, 1 user, load average: 0.16, 0.25, 0.27", "stdout_lines": [" 19:10:09 up 9:54, 1 user, load average: 0.16, 0.25, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004406", "end": "2025-12-19 19:10:09.637413", "msg": "", "rc": 0, "start": "2025-12-19 19:10:09.633007", "stderr": "", "stderr_lines": [], "stdout": " 19:10:09 up 24 days, 7:34, 1 user, load average: 0.58, 0.62, 0.63", "stdout_lines": [" 19:10:09 up 24 days, 7:34, 1 user, load average: 0.58, 0.62, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002731", "end": "2025-12-19 19:09:41.299255", "msg": "", "rc": 0, "start": "2025-12-19 19:09:41.296524", "stderr": "", "stderr_lines": [], "stdout": " 19:09:41 up 13 days, 6:59, 0 user, load average: 0.09, 0.08, 0.09", "stdout_lines": [" 19:09:41 up 13 days, 6:59, 0 user, load average: 0.09, 0.08, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003407", "end": "2025-12-19 19:09:34.113551", "msg": "", "rc": 0, "start": "2025-12-19 19:09:34.110144", "stderr": "", "stderr_lines": [], "stdout": " 19:09:34 up 20 days, 3:11, 0 user, load average: 0.04, 0.02, 0.00", "stdout_lines": [" 19:09:34 up 20 days, 3:11, 0 user, load average: 0.04, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008206", "end": "2025-12-19 19:10:10.266130", "msg": "", "rc": 0, "start": "2025-12-19 19:10:10.257924", "stderr": "", "stderr_lines": [], "stdout": " 19:10:10 up 196 days, 10:43, 1 user, load average: 0.36, 0.24, 0.19", "stdout_lines": [" 19:10:10 up 196 days, 10:43, 1 user, load average: 0.36, 0.24, 0.19"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009299", "end": "2025-12-19 19:10:10.317382", "msg": "", "rc": 0, "start": "2025-12-19 19:10:10.308083", "stderr": "", "stderr_lines": [], "stdout": " 19:10:10 up 196 days, 10:43, 1 user, load average: 0.42, 0.27, 0.22", "stdout_lines": [" 19:10:10 up 196 days, 10:43, 1 user, load average: 0.42, 0.27, 0.22"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004463", "end": "2025-12-19 19:10:10.539105", "msg": "", "rc": 0, "start": "2025-12-19 19:10:10.534642", "stderr": "", "stderr_lines": [], "stdout": " 19:10:10 up 9:53, 1 user, load average: 0.07, 0.05, 0.01", "stdout_lines": [" 19:10:10 up 9:53, 1 user, load average: 0.07, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003460", "end": "2025-12-19 19:09:37.287909", "msg": "", "rc": 0, "start": "2025-12-19 19:09:37.284449", "stderr": "", "stderr_lines": [], "stdout": " 19:09:37 up 22 days, 22:03, 0 user, load average: 0.55, 0.56, 0.57", "stdout_lines": [" 19:09:37 up 22 days, 22:03, 0 user, load average: 0.55, 0.56, 0.57"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003171", "end": "2025-12-19 19:09:44.586574", "msg": "", "rc": 0, "start": "2025-12-19 19:09:44.583403", "stderr": "", "stderr_lines": [], "stdout": " 19:09:44 up 19 days, 8:25, 0 user, load average: 1.30, 0.64, 0.45", "stdout_lines": [" 19:09:44 up 19 days, 8:25, 0 user, load average: 1.30, 0.64, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004270", "end": "2025-12-19 16:10:10.775147", "msg": "", "rc": 0, "start": "2025-12-19 16:10:10.770877", "stderr": "", "stderr_lines": [], "stdout": " 4:10PM up 24 days, 5:59, 1 user, load averages: 0.17, 0.23, 0.20", "stdout_lines": [" 4:10PM up 24 days, 5:59, 1 user, load averages: 0.17, 0.23, 0.20"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003662", "end": "2025-12-19 19:10:10.949790", "msg": "", "rc": 0, "start": "2025-12-19 19:10:10.946128", "stderr": "", "stderr_lines": [], "stdout": " 19:10:10 up 9:53, 1 user, load average: 0.04, 0.04, 0.02", "stdout_lines": [" 19:10:10 up 9:53, 1 user, load average: 0.04, 0.04, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009081", "end": "2025-12-19 19:10:12.079213", "msg": "", "rc": 0, "start": "2025-12-19 19:10:12.070132", "stderr": "", "stderr_lines": [], "stdout": " 19:10:12 up 5:31, 1 user, load average: 1.48, 1.19, 1.17", "stdout_lines": [" 19:10:12 up 5:31, 1 user, load average: 1.48, 1.19, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019210", "end": "2025-12-19 19:10:10.980651", "msg": "", "rc": 0, "start": "2025-12-19 19:10:10.961441", "stderr": "", "stderr_lines": [], "stdout": " 19:10:10 up 17 days, 8:36, 1 user, load average: 0.24, 0.15, 0.10", "stdout_lines": [" 19:10:10 up 17 days, 8:36, 1 user, load average: 0.24, 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.004340", "end": "2025-12-19 19:10:11.501806", "msg": "", "rc": 0, "start": "2025-12-19 19:10:11.497466", "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.004178", "end": "2025-12-19 19:10:11.536081", "msg": "", "rc": 0, "start": "2025-12-19 19:10:11.531903", "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.004603", "end": "2025-12-19 19:10:11.541487", "msg": "", "rc": 0, "start": "2025-12-19 19:10:11.536884", "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.004472", "end": "2025-12-19 19:10:11.555350", "msg": "", "rc": 0, "start": "2025-12-19 19:10:11.550878", "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.005627", "end": "2025-12-19 19:10:11.573227", "msg": "", "rc": 0, "start": "2025-12-19 19:10:11.567600", "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.004916", "end": "2025-12-19 19:09:43.235703", "msg": "", "rc": 0, "start": "2025-12-19 19:09:43.230787", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005659", "end": "2025-12-19 19:09:36.062429", "msg": "", "rc": 0, "start": "2025-12-19 19:09:36.056770", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011549", "end": "2025-12-19 19:10:12.269315", "msg": "", "rc": 0, "start": "2025-12-19 19:10:12.257766", "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.010472", "end": "2025-12-19 19:10:12.285573", "msg": "", "rc": 0, "start": "2025-12-19 19:10:12.275101", "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.005686", "end": "2025-12-19 19:10:12.470756", "msg": "", "rc": 0, "start": "2025-12-19 19:10:12.465070", "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.005096", "end": "2025-12-19 19:09:39.245493", "msg": "", "rc": 0, "start": "2025-12-19 19:09:39.240397", "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.005778", "end": "2025-12-19 16:10:12.732343", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.726565", "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.004768", "end": "2025-12-19 19:09:46.620949", "msg": "", "rc": 0, "start": "2025-12-19 19:09:46.616181", "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.005249", "end": "2025-12-19 19:10:12.884740", "msg": "", "rc": 0, "start": "2025-12-19 19:10:12.879491", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.029037", "end": "2025-12-19 19:10:14.229989", "msg": "", "rc": 0, "start": "2025-12-19 19:10:14.200952", "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.025373", "end": "2025-12-19 19:10:12.910226", "msg": "", "rc": 0, "start": "2025-12-19 19:10:12.884853", "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.004257", "end": "2025-12-19 19:10:13.437592", "msg": "", "rc": 0, "start": "2025-12-19 19:10:13.433335", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004135", "end": "2025-12-19 19:10:13.449885", "msg": "", "rc": 0, "start": "2025-12-19 19:10:13.445750", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.005469", "end": "2025-12-19 19:10:13.474047", "msg": "", "rc": 0, "start": "2025-12-19 19:10:13.468578", "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.004896", "end": "2025-12-19 19:10:13.496390", "msg": "", "rc": 0, "start": "2025-12-19 19:10:13.491494", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005760", "end": "2025-12-19 19:10:13.490486", "msg": "", "rc": 0, "start": "2025-12-19 19:10:13.484726", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003925", "end": "2025-12-19 19:09:45.213283", "msg": "", "rc": 0, "start": "2025-12-19 19:09:45.209358", "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.004426", "end": "2025-12-19 19:09:37.977933", "msg": "", "rc": 0, "start": "2025-12-19 19:09:37.973507", "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.010947", "end": "2025-12-19 19:10:14.147595", "msg": "", "rc": 0, "start": "2025-12-19 19:10:14.136648", "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.011801", "end": "2025-12-19 19:10:14.168692", "msg": "", "rc": 0, "start": "2025-12-19 19:10:14.156891", "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.005723", "end": "2025-12-19 19:10:14.465193", "msg": "", "rc": 0, "start": "2025-12-19 19:10:14.459470", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004251", "end": "2025-12-19 19:09:41.142777", "msg": "", "rc": 0, "start": "2025-12-19 19:09:41.138526", "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.005070", "end": "2025-12-19 16:10:14.639923", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:10:14.634853", "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.004431", "end": "2025-12-19 19:09:48.560777", "msg": "", "rc": 0, "start": "2025-12-19 19:09:48.556346", "stderr": "", "stderr_lines": [], "stdout": "64.9%", "stdout_lines": ["64.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.005861", "end": "2025-12-19 19:10:14.889689", "msg": "", "rc": 0, "start": "2025-12-19 19:10:14.883828", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.008949", "end": "2025-12-19 19:10:16.349041", "msg": "", "rc": 0, "start": "2025-12-19 19:10:16.340092", "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.025885", "end": "2025-12-19 19:10:14.841142", "msg": "", "rc": 0, "start": "2025-12-19 19:10:14.815257", "stderr": "", "stderr_lines": [], "stdout": "22.0%", "stdout_lines": ["22.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.005222", "end": "2025-12-19 19:10:15.357943", "msg": "", "rc": 0, "start": "2025-12-19 19:10:15.352721", "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.004873", "end": "2025-12-19 19:10:15.388042", "msg": "", "rc": 0, "start": "2025-12-19 19:10:15.383169", "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.006327", "end": "2025-12-19 19:10:15.387717", "msg": "", "rc": 0, "start": "2025-12-19 19:10:15.381390", "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.002629", "end": "2025-12-19 19:10:15.416263", "msg": "", "rc": 0, "start": "2025-12-19 19:10:15.413634", "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.006763", "end": "2025-12-19 19:10:15.418772", "msg": "", "rc": 0, "start": "2025-12-19 19:10:15.412009", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003178", "end": "2025-12-19 19:09:47.117536", "msg": "", "rc": 0, "start": "2025-12-19 19:09:47.114358", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003146", "end": "2025-12-19 19:09:39.896427", "msg": "", "rc": 0, "start": "2025-12-19 19:09:39.893281", "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.011954", "end": "2025-12-19 19:10:16.083717", "msg": "", "rc": 0, "start": "2025-12-19 19:10:16.071763", "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.012987", "end": "2025-12-19 19:10:16.107290", "msg": "", "rc": 0, "start": "2025-12-19 19:10:16.094303", "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.003098", "end": "2025-12-19 19:10:16.356116", "msg": "", "rc": 0, "start": "2025-12-19 19:10:16.353018", "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.002877", "end": "2025-12-19 19:09:43.064277", "msg": "", "rc": 0, "start": "2025-12-19 19:09:43.061400", "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-19 16:10:16.573335", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.569386", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002891", "end": "2025-12-19 19:09:50.459390", "msg": "", "rc": 0, "start": "2025-12-19 19:09:50.456499", "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.003365", "end": "2025-12-19 19:10:16.774668", "msg": "", "rc": 0, "start": "2025-12-19 19:10:16.771303", "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.005097", "end": "2025-12-19 19:10:18.418909", "msg": "", "rc": 0, "start": "2025-12-19 19:10:18.413812", "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.028371", "end": "2025-12-19 19:10:16.742450", "msg": "", "rc": 0, "start": "2025-12-19 19:10:16.714079", "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.004156", "end": "2025-12-19 19:10:17.269535", "msg": "", "rc": 0, "start": "2025-12-19 19:10:17.265379", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
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.004049", "end": "2025-12-19 19:10:17.292942", "msg": "", "rc": 0, "start": "2025-12-19 19:10:17.288893", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.005015", "end": "2025-12-19 19:10:17.320868", "msg": "", "rc": 0, "start": "2025-12-19 19:10:17.315853", "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.004689", "end": "2025-12-19 19:10:17.325792", "msg": "", "rc": 0, "start": "2025-12-19 19:10:17.321103", "stderr": "", "stderr_lines": [], "stdout": "0.98", "stdout_lines": ["0.98"]}
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-19 19:10:17.328312", "msg": "", "rc": 0, "start": "2025-12-19 19:10:17.322781", "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.004393", "end": "2025-12-19 19:09:49.016859", "msg": "", "rc": 0, "start": "2025-12-19 19:09:49.012466", "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.005572", "end": "2025-12-19 19:09:41.800900", "msg": "", "rc": 0, "start": "2025-12-19 19:09:41.795328", "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.010191", "end": "2025-12-19 19:10:18.079664", "msg": "", "rc": 0, "start": "2025-12-19 19:10:18.069473", "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.011215", "end": "2025-12-19 19:10:18.099798", "msg": "", "rc": 0, "start": "2025-12-19 19:10:18.088583", "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.005608", "end": "2025-12-19 19:10:18.270103", "msg": "", "rc": 0, "start": "2025-12-19 19:10:18.264495", "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.004783", "end": "2025-12-19 19:09:44.973538", "msg": "", "rc": 0, "start": "2025-12-19 19:09:44.968755", "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.006286", "end": "2025-12-19 16:10:18.572492", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.566206", "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.005261", "end": "2025-12-19 19:09:52.422224", "msg": "", "rc": 0, "start": "2025-12-19 19:09:52.416963", "stderr": "", "stderr_lines": [], "stdout": "1.19", "stdout_lines": ["1.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.005305", "end": "2025-12-19 19:10:18.700990", "msg": "", "rc": 0, "start": "2025-12-19 19:10:18.695685", "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.008129", "end": "2025-12-19 19:10:20.523144", "msg": "", "rc": 0, "start": "2025-12-19 19:10:20.515015", "stderr": "", "stderr_lines": [], "stdout": "1.68", "stdout_lines": ["1.68"]}
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.024268", "end": "2025-12-19 19:10:18.656267", "msg": "", "rc": 0, "start": "2025-12-19 19:10:18.631999", "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: 19:10:09 up 24 days, 6:01, 1 user, load average: 0.57, 0.47, 0.42\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.56\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:09 up 9:54, 1 user, load average: 0.16, 0.25, 0.27\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.14\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:09 up 24 days, 6:21, 1 user, load average: 0.89, 0.84, 0.82\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.98\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:09 up 24 days, 7:34, 1 user, load average: 0.58, 0.62, 0.63\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.57\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:09 up 24 days, 8:20, 1 user, load average: 0.01, 0.04, 0.02\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:10 up 17 days, 8:36, 1 user, load average: 0.24, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 22.0%\nCPU Load: 0.27\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:10 up 196 days, 10:43, 1 user, load average: 0.42, 0.27, 0.22\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.51\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:10 up 196 days, 10:43, 1 user, load average: 0.36, 0.24, 0.19\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.47\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:09:41 up 13 days, 6:59, 0 user, load average: 0.09, 0.08, 0.09\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:09:34 up 20 days, 3:11, 0 user, load average: 0.04, 0.02, 0.00\nDisk Usage: 25%\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: 19:10:10 up 9:53, 1 user, load average: 0.07, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:09:37 up 22 days, 22:03, 0 user, load average: 0.55, 0.56, 0.57\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:09:44 up 19 days, 8:25, 0 user, load average: 1.30, 0.64, 0.45\nDisk Usage: 76%\nMemory Usage: 64.9%\nCPU Load: 1.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:10PM up 24 days, 5:59, 1 user, load averages: 0.17, 0.23, 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: 19:10:10 up 9:53, 1 user, load average: 0.04, 0.04, 0.02\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:10:12 up 5:31, 1 user, load average: 1.48, 1.19, 1.17\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.68\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-20T00:10:21.518812+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `877a1bc161ce4fbf967e9d65b01f2949` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:15:00.008819+00:00 |
| **Fin** | 2025-12-20T00:15:24.823514+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: [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: [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.003376", "end": "2025-12-19 19:15:11.856686", "msg": "", "rc": 0, "start": "2025-12-19 19:15:11.853310", "stderr": "", "stderr_lines": [], "stdout": " 19:15:11 up 24 days, 6:26, 1 user, load average: 1.00, 0.97, 0.88", "stdout_lines": [" 19:15:11 up 24 days, 6:26, 1 user, load average: 1.00, 0.97, 0.88"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003887", "end": "2025-12-19 19:15:11.862912", "msg": "", "rc": 0, "start": "2025-12-19 19:15:11.859025", "stderr": "", "stderr_lines": [], "stdout": " 19:15:11 up 24 days, 8:25, 1 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 19:15:11 up 24 days, 8:25, 1 user, load average: 0.07, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004694", "end": "2025-12-19 19:15:11.881260", "msg": "", "rc": 0, "start": "2025-12-19 19:15:11.876566", "stderr": "", "stderr_lines": [], "stdout": " 19:15:11 up 24 days, 7:39, 1 user, load average: 0.48, 0.62, 0.63", "stdout_lines": [" 19:15:11 up 24 days, 7:39, 1 user, load average: 0.48, 0.62, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002885", "end": "2025-12-19 19:15:11.891689", "msg": "", "rc": 0, "start": "2025-12-19 19:15:11.888804", "stderr": "", "stderr_lines": [], "stdout": " 19:15:11 up 9:59, 1 user, load average: 0.12, 0.15, 0.22", "stdout_lines": [" 19:15:11 up 9:59, 1 user, load average: 0.12, 0.15, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002942", "end": "2025-12-19 19:14:43.593453", "msg": "", "rc": 0, "start": "2025-12-19 19:14:43.590511", "stderr": "", "stderr_lines": [], "stdout": " 19:14:43 up 13 days, 7:04, 0 user, load average: 0.23, 0.23, 0.15", "stdout_lines": [" 19:14:43 up 13 days, 7:04, 0 user, load average: 0.23, 0.23, 0.15"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008434", "end": "2025-12-19 19:15:12.544406", "msg": "", "rc": 0, "start": "2025-12-19 19:15:12.535972", "stderr": "", "stderr_lines": [], "stdout": " 19:15:12 up 196 days, 10:48, 1 user, load average: 0.14, 0.15, 0.16", "stdout_lines": [" 19:15:12 up 196 days, 10:48, 1 user, load average: 0.14, 0.15, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009599", "end": "2025-12-19 19:15:12.602578", "msg": "", "rc": 0, "start": "2025-12-19 19:15:12.592979", "stderr": "", "stderr_lines": [], "stdout": " 19:15:12 up 196 days, 10:48, 1 user, load average: 0.38, 0.31, 0.24", "stdout_lines": [" 19:15:12 up 196 days, 10:48, 1 user, load average: 0.38, 0.31, 0.24"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003459", "end": "2025-12-19 19:15:12.855101", "msg": "", "rc": 0, "start": "2025-12-19 19:15:11.851642", "stderr": "", "stderr_lines": [], "stdout": " 19:15:11 up 24 days, 6:06, 1 user, load average: 0.36, 0.38, 0.39", "stdout_lines": [" 19:15:11 up 24 days, 6:06, 1 user, load average: 0.36, 0.38, 0.39"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003559", "end": "2025-12-19 19:14:36.838897", "msg": "", "rc": 0, "start": "2025-12-19 19:14:36.835338", "stderr": "", "stderr_lines": [], "stdout": " 19:14:36 up 20 days, 3:16, 0 user, load average: 0.07, 0.06, 0.01", "stdout_lines": [" 19:14:36 up 20 days, 3:16, 0 user, load average: 0.07, 0.06, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004640", "end": "2025-12-19 19:15:13.067128", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.062488", "stderr": "", "stderr_lines": [], "stdout": " 19:15:13 up 9:58, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 19:15:13 up 9:58, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003294", "end": "2025-12-19 19:14:39.761817", "msg": "", "rc": 0, "start": "2025-12-19 19:14:39.758523", "stderr": "", "stderr_lines": [], "stdout": " 19:14:39 up 22 days, 22:08, 0 user, load average: 0.74, 0.52, 0.54", "stdout_lines": [" 19:14:39 up 22 days, 22:08, 0 user, load average: 0.74, 0.52, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002690", "end": "2025-12-19 19:14:47.125993", "msg": "", "rc": 0, "start": "2025-12-19 19:14:47.123303", "stderr": "", "stderr_lines": [], "stdout": " 19:14:47 up 19 days, 8:30, 0 user, load average: 0.34, 0.50, 0.44", "stdout_lines": [" 19:14:47 up 19 days, 8:30, 0 user, load average: 0.34, 0.50, 0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004166", "end": "2025-12-19 16:15:13.334427", "msg": "", "rc": 0, "start": "2025-12-19 16:15:13.330261", "stderr": "", "stderr_lines": [], "stdout": " 4:15PM up 24 days, 6:05, 1 user, load averages: 0.27, 0.26, 0.23", "stdout_lines": [" 4:15PM up 24 days, 6:05, 1 user, load averages: 0.27, 0.26, 0.23"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019633", "end": "2025-12-19 19:15:13.244067", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.224434", "stderr": "", "stderr_lines": [], "stdout": " 19:15:13 up 17 days, 8:41, 1 user, load average: 0.22, 0.14, 0.10", "stdout_lines": [" 19:15:13 up 17 days, 8:41, 1 user, load average: 0.22, 0.14, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003671", "end": "2025-12-19 19:15:13.487528", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.483857", "stderr": "", "stderr_lines": [], "stdout": " 19:15:13 up 9:58, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 19:15:13 up 9:58, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009108", "end": "2025-12-19 19:15:15.447054", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.437946", "stderr": "", "stderr_lines": [], "stdout": " 19:15:15 up 5:37, 1 user, load average: 1.08, 1.12, 1.15", "stdout_lines": [" 19:15:15 up 5:37, 1 user, load average: 1.08, 1.12, 1.15"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004265", "end": "2025-12-19 19:15:13.900138", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.895873", "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.004192", "end": "2025-12-19 19:15:13.918323", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.914131", "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.004856", "end": "2025-12-19 19:15:13.948567", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.943711", "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.005200", "end": "2025-12-19 19:15:13.967792", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.962592", "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.005803", "end": "2025-12-19 19:15:13.988454", "msg": "", "rc": 0, "start": "2025-12-19 19:15:13.982651", "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-19 19:14:45.679320", "msg": "", "rc": 0, "start": "2025-12-19 19:14:45.674186", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005510", "end": "2025-12-19 19:14:38.446908", "msg": "", "rc": 0, "start": "2025-12-19 19:14:38.441398", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010394", "end": "2025-12-19 19:15:14.667921", "msg": "", "rc": 0, "start": "2025-12-19 19:15:14.657527", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011655", "end": "2025-12-19 19:15:14.674599", "msg": "", "rc": 0, "start": "2025-12-19 19:15:14.662944", "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.005649", "end": "2025-12-19 19:15:14.937631", "msg": "", "rc": 0, "start": "2025-12-19 19:15:14.931982", "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.005269", "end": "2025-12-19 19:14:41.614624", "msg": "", "rc": 0, "start": "2025-12-19 19:14:41.609355", "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.005358", "end": "2025-12-19 16:15:15.132300", "msg": "", "rc": 0, "start": "2025-12-19 16:15:15.126942", "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.004904", "end": "2025-12-19 19:14:48.990264", "msg": "", "rc": 0, "start": "2025-12-19 19:14:48.985360", "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.005482", "end": "2025-12-19 19:15:15.353408", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.347926", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.027794", "end": "2025-12-19 19:15:17.471239", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.443445", "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.025364", "end": "2025-12-19 19:15:15.289414", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.264050", "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.004323", "end": "2025-12-19 19:15:15.823803", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.819480", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004432", "end": "2025-12-19 19:15:15.834573", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.830141", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004877", "end": "2025-12-19 19:15:15.864575", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.859698", "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.004952", "end": "2025-12-19 19:15:15.875642", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.870690", "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.005525", "end": "2025-12-19 19:15:15.882406", "msg": "", "rc": 0, "start": "2025-12-19 19:15:15.876881", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004124", "end": "2025-12-19 19:14:47.572513", "msg": "", "rc": 0, "start": "2025-12-19 19:14:47.568389", "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.004814", "end": "2025-12-19 19:14:40.333085", "msg": "", "rc": 0, "start": "2025-12-19 19:14:40.328271", "stderr": "", "stderr_lines": [], "stdout": "65.1%", "stdout_lines": ["65.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.011152", "end": "2025-12-19 19:15:16.515205", "msg": "", "rc": 0, "start": "2025-12-19 19:15:16.504053", "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.012108", "end": "2025-12-19 19:15:16.521527", "msg": "", "rc": 0, "start": "2025-12-19 19:15:16.509419", "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-19 19:15:16.813287", "msg": "", "rc": 0, "start": "2025-12-19 19:15:16.807465", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004147", "end": "2025-12-19 19:14:43.534168", "msg": "", "rc": 0, "start": "2025-12-19 19:14:43.530021", "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.005209", "end": "2025-12-19 16:15:16.997715", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:15:16.992506", "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.003962", "end": "2025-12-19 19:14:50.882076", "msg": "", "rc": 0, "start": "2025-12-19 19:14:50.878114", "stderr": "", "stderr_lines": [], "stdout": "65.9%", "stdout_lines": ["65.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.005474", "end": "2025-12-19 19:15:17.242237", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.236763", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.010490", "end": "2025-12-19 19:15:19.606928", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.596438", "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.025906", "end": "2025-12-19 19:15:17.202345", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.176439", "stderr": "", "stderr_lines": [], "stdout": "19.9%", "stdout_lines": ["19.9%"]}
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.004802", "end": "2025-12-19 19:15:17.734749", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.729947", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005331", "end": "2025-12-19 19:15:17.730594", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.725263", "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.005557", "end": "2025-12-19 19:15:17.749011", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.743454", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003585", "end": "2025-12-19 19:15:17.768448", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.764863", "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.006537", "end": "2025-12-19 19:15:17.782731", "msg": "", "rc": 0, "start": "2025-12-19 19:15:17.776194", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002901", "end": "2025-12-19 19:14:49.456202", "msg": "", "rc": 0, "start": "2025-12-19 19:14:49.453301", "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.003090", "end": "2025-12-19 19:14:42.258253", "msg": "", "rc": 0, "start": "2025-12-19 19:14:42.255163", "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.011744", "end": "2025-12-19 19:15:18.427734", "msg": "", "rc": 0, "start": "2025-12-19 19:15:18.415990", "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.012924", "end": "2025-12-19 19:15:18.471487", "msg": "", "rc": 0, "start": "2025-12-19 19:15:18.458563", "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.003556", "end": "2025-12-19 19:15:18.694025", "msg": "", "rc": 0, "start": "2025-12-19 19:15:18.690469", "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.003100", "end": "2025-12-19 19:14:45.431821", "msg": "", "rc": 0, "start": "2025-12-19 19:14:45.428721", "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.004103", "end": "2025-12-19 16:15:18.918343", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.914240", "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.003095", "end": "2025-12-19 19:14:52.803260", "msg": "", "rc": 0, "start": "2025-12-19 19:14:52.800165", "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.003250", "end": "2025-12-19 19:15:19.122945", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.119695", "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.004598", "end": "2025-12-19 19:15:21.668298", "msg": "", "rc": 0, "start": "2025-12-19 19:15:21.663700", "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.028622", "end": "2025-12-19 19:15:19.143938", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.115316", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003938", "end": "2025-12-19 19:15:19.678312", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.674374", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
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.004318", "end": "2025-12-19 19:15:19.687831", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.683513", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
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.004608", "end": "2025-12-19 19:15:19.700112", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.695504", "stderr": "", "stderr_lines": [], "stdout": "1.24", "stdout_lines": ["1.24"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005001", "end": "2025-12-19 19:15:19.732364", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.727363", "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.005763", "end": "2025-12-19 19:15:19.738026", "msg": "", "rc": 0, "start": "2025-12-19 19:15:19.732263", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004239", "end": "2025-12-19 19:14:51.423020", "msg": "", "rc": 0, "start": "2025-12-19 19:14:51.418781", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005331", "end": "2025-12-19 19:14:44.220361", "msg": "", "rc": 0, "start": "2025-12-19 19:14:44.215030", "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.009958", "end": "2025-12-19 19:15:20.449924", "msg": "", "rc": 0, "start": "2025-12-19 19:15:20.439966", "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.011212", "end": "2025-12-19 19:15:20.497707", "msg": "", "rc": 0, "start": "2025-12-19 19:15:20.486495", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005482", "end": "2025-12-19 19:15:20.660618", "msg": "", "rc": 0, "start": "2025-12-19 19:15:20.655136", "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.004995", "end": "2025-12-19 19:14:47.383575", "msg": "", "rc": 0, "start": "2025-12-19 19:14:47.378580", "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.005887", "end": "2025-12-19 16:15:20.955775", "msg": "", "rc": 0, "start": "2025-12-19 16:15:20.949888", "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.005322", "end": "2025-12-19 19:14:54.816074", "msg": "", "rc": 0, "start": "2025-12-19 19:14:54.810752", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.005189", "end": "2025-12-19 19:15:21.097727", "msg": "", "rc": 0, "start": "2025-12-19 19:15:21.092538", "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.007047", "end": "2025-12-19 19:15:23.843025", "msg": "", "rc": 0, "start": "2025-12-19 19:15:23.835978", "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.024613", "end": "2025-12-19 19:15:21.082040", "msg": "", "rc": 0, "start": "2025-12-19 19:15:21.057427", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:11 up 9:59, 1 user, load average: 0.12, 0.15, 0.22\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.10\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:11 up 24 days, 6:06, 1 user, load average: 0.36, 0.38, 0.39\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.57\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:11 up 24 days, 6:26, 1 user, load average: 1.00, 0.97, 0.88\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.24\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:11 up 24 days, 7:39, 1 user, load average: 0.48, 0.62, 0.63\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.41\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:11 up 24 days, 8:25, 1 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:13 up 17 days, 8:41, 1 user, load average: 0.22, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.29\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:12 up 196 days, 10:48, 1 user, load average: 0.38, 0.31, 0.24\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.35\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:12 up 196 days, 10:48, 1 user, load average: 0.14, 0.15, 0.16\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.19\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:14:43 up 13 days, 7:04, 0 user, load average: 0.23, 0.23, 0.15\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:14:36 up 20 days, 3:16, 0 user, load average: 0.07, 0.06, 0.01\nDisk Usage: 25%\nMemory Usage: 65.1%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:13 up 9:58, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:14:39 up 22 days, 22:08, 0 user, load average: 0.74, 0.52, 0.54\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.70\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:14:47 up 19 days, 8:30, 0 user, load average: 0.34, 0.50, 0.44\nDisk Usage: 76%\nMemory Usage: 65.9%\nCPU Load: 0.77\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:15PM up 24 days, 6:05, 1 user, load averages: 0.27, 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: 19:15:13 up 9:58, 1 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:15:15 up 5:37, 1 user, load average: 1.08, 1.12, 1.15\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T00:15:24.895701+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `3069940def574acdaa978964a4fab58c` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:20:00.005398+00:00 |
| **Fin** | 2025-12-20T00:20:24.667333+00:00 |
| **Durée** | 24.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.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.003138", "end": "2025-12-19 19:20:11.927225", "msg": "", "rc": 0, "start": "2025-12-19 19:20:11.924087", "stderr": "", "stderr_lines": [], "stdout": " 19:20:11 up 24 days, 6:31, 1 user, load average: 1.28, 1.16, 1.00", "stdout_lines": [" 19:20:11 up 24 days, 6:31, 1 user, load average: 1.28, 1.16, 1.00"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003651", "end": "2025-12-19 19:20:11.933027", "msg": "", "rc": 0, "start": "2025-12-19 19:20:11.929376", "stderr": "", "stderr_lines": [], "stdout": " 19:20:11 up 24 days, 8:30, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 19:20:11 up 24 days, 8:30, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003061", "end": "2025-12-19 19:20:11.956335", "msg": "", "rc": 0, "start": "2025-12-19 19:20:11.953274", "stderr": "", "stderr_lines": [], "stdout": " 19:20:11 up 10:04, 1 user, load average: 0.23, 0.19, 0.20", "stdout_lines": [" 19:20:11 up 10:04, 1 user, load average: 0.23, 0.19, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005047", "end": "2025-12-19 19:20:11.965783", "msg": "", "rc": 0, "start": "2025-12-19 19:20:11.960736", "stderr": "", "stderr_lines": [], "stdout": " 19:20:11 up 24 days, 7:44, 1 user, load average: 0.58, 0.54, 0.58", "stdout_lines": [" 19:20:11 up 24 days, 7:44, 1 user, load average: 0.58, 0.54, 0.58"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002934", "end": "2025-12-19 19:19:43.649654", "msg": "", "rc": 0, "start": "2025-12-19 19:19:43.646720", "stderr": "", "stderr_lines": [], "stdout": " 19:19:43 up 13 days, 7:09, 0 user, load average: 0.12, 0.15, 0.14", "stdout_lines": [" 19:19:43 up 13 days, 7:09, 0 user, load average: 0.12, 0.15, 0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008669", "end": "2025-12-19 19:20:12.625236", "msg": "", "rc": 0, "start": "2025-12-19 19:20:12.616567", "stderr": "", "stderr_lines": [], "stdout": " 19:20:12 up 196 days, 10:53, 1 user, load average: 0.15, 0.14, 0.16", "stdout_lines": [" 19:20:12 up 196 days, 10:53, 1 user, load average: 0.15, 0.14, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009194", "end": "2025-12-19 19:20:12.666037", "msg": "", "rc": 0, "start": "2025-12-19 19:20:12.656843", "stderr": "", "stderr_lines": [], "stdout": " 19:20:12 up 196 days, 10:53, 1 user, load average: 0.37, 0.27, 0.23", "stdout_lines": [" 19:20:12 up 196 days, 10:53, 1 user, load average: 0.37, 0.27, 0.23"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.006362", "end": "2025-12-19 19:20:12.919007", "msg": "", "rc": 0, "start": "2025-12-19 19:20:11.912645", "stderr": "", "stderr_lines": [], "stdout": " 19:20:11 up 24 days, 6:11, 1 user, load average: 0.49, 0.44, 0.41", "stdout_lines": [" 19:20:11 up 24 days, 6:11, 1 user, load average: 0.49, 0.44, 0.41"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003384", "end": "2025-12-19 19:19:36.896518", "msg": "", "rc": 0, "start": "2025-12-19 19:19:36.893134", "stderr": "", "stderr_lines": [], "stdout": " 19:19:36 up 20 days, 3:21, 0 user, load average: 0.01, 0.04, 0.00", "stdout_lines": [" 19:19:36 up 20 days, 3:21, 0 user, load average: 0.01, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004549", "end": "2025-12-19 19:20:13.121418", "msg": "", "rc": 0, "start": "2025-12-19 19:20:13.116869", "stderr": "", "stderr_lines": [], "stdout": " 19:20:13 up 10:03, 1 user, load average: 0.12, 0.07, 0.02", "stdout_lines": [" 19:20:13 up 10:03, 1 user, load average: 0.12, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003096", "end": "2025-12-19 19:19:39.804992", "msg": "", "rc": 0, "start": "2025-12-19 19:19:39.801896", "stderr": "", "stderr_lines": [], "stdout": " 19:19:39 up 22 days, 22:13, 0 user, load average: 0.48, 0.45, 0.50", "stdout_lines": [" 19:19:39 up 22 days, 22:13, 0 user, load average: 0.48, 0.45, 0.50"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003781", "end": "2025-12-19 19:19:47.201867", "msg": "", "rc": 0, "start": "2025-12-19 19:19:47.198086", "stderr": "", "stderr_lines": [], "stdout": " 19:19:47 up 19 days, 8:35, 0 user, load average: 0.72, 0.64, 0.53", "stdout_lines": [" 19:19:47 up 19 days, 8:35, 0 user, load average: 0.72, 0.64, 0.53"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004132", "end": "2025-12-19 16:20:13.391854", "msg": "", "rc": 0, "start": "2025-12-19 16:20:13.387722", "stderr": "", "stderr_lines": [], "stdout": " 4:20PM up 24 days, 6:10, 1 user, load averages: 0.24, 0.25, 0.23", "stdout_lines": [" 4:20PM up 24 days, 6:10, 1 user, load averages: 0.24, 0.25, 0.23"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019427", "end": "2025-12-19 19:20:13.323943", "msg": "", "rc": 0, "start": "2025-12-19 19:20:13.304516", "stderr": "", "stderr_lines": [], "stdout": " 19:20:13 up 17 days, 8:46, 1 user, load average: 0.43, 0.23, 0.13", "stdout_lines": [" 19:20:13 up 17 days, 8:46, 1 user, load average: 0.43, 0.23, 0.13"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003740", "end": "2025-12-19 19:20:13.561859", "msg": "", "rc": 0, "start": "2025-12-19 19:20:13.558119", "stderr": "", "stderr_lines": [], "stdout": " 19:20:13 up 10:03, 1 user, load average: 0.38, 0.13, 0.03", "stdout_lines": [" 19:20:13 up 10:03, 1 user, load average: 0.38, 0.13, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009374", "end": "2025-12-19 19:20:15.394534", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.385160", "stderr": "", "stderr_lines": [], "stdout": " 19:20:15 up 5:42, 1 user, load average: 1.43, 1.20, 1.17", "stdout_lines": [" 19:20:15 up 5:42, 1 user, load average: 1.43, 1.20, 1.17"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004053", "end": "2025-12-19 19:20:13.969913", "msg": "", "rc": 0, "start": "2025-12-19 19:20:13.965860", "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.004046", "end": "2025-12-19 19:20:13.992000", "msg": "", "rc": 0, "start": "2025-12-19 19:20:13.987954", "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.004760", "end": "2025-12-19 19:20:14.007762", "msg": "", "rc": 0, "start": "2025-12-19 19:20:14.003002", "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.004931", "end": "2025-12-19 19:20:14.030354", "msg": "", "rc": 0, "start": "2025-12-19 19:20:14.025423", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005643", "end": "2025-12-19 19:20:14.047988", "msg": "", "rc": 0, "start": "2025-12-19 19:20:14.042345", "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.005092", "end": "2025-12-19 19:19:45.694181", "msg": "", "rc": 0, "start": "2025-12-19 19:19:45.689089", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005553", "end": "2025-12-19 19:19:38.492170", "msg": "", "rc": 0, "start": "2025-12-19 19:19:38.486617", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010634", "end": "2025-12-19 19:20:14.713530", "msg": "", "rc": 0, "start": "2025-12-19 19:20:14.702896", "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.011518", "end": "2025-12-19 19:20:14.767527", "msg": "", "rc": 0, "start": "2025-12-19 19:20:14.756009", "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.005638", "end": "2025-12-19 19:20:14.950793", "msg": "", "rc": 0, "start": "2025-12-19 19:20:14.945155", "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.005563", "end": "2025-12-19 19:19:41.670849", "msg": "", "rc": 0, "start": "2025-12-19 19:19:41.665286", "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.005474", "end": "2025-12-19 19:19:49.051393", "msg": "", "rc": 0, "start": "2025-12-19 19:19:49.045919", "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.005388", "end": "2025-12-19 16:20:15.252455", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.247067", "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.005279", "end": "2025-12-19 19:20:15.392322", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.387043", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.017340", "end": "2025-12-19 19:20:17.459553", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.442213", "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.025519", "end": "2025-12-19 19:20:15.362630", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.337111", "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.004264", "end": "2025-12-19 19:20:15.894779", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.890515", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004265", "end": "2025-12-19 19:20:15.917536", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.913271", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004775", "end": "2025-12-19 19:20:15.914752", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.909977", "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.005172", "end": "2025-12-19 19:20:15.952918", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.947746", "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.005559", "end": "2025-12-19 19:20:15.957892", "msg": "", "rc": 0, "start": "2025-12-19 19:20:15.952333", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004335", "end": "2025-12-19 19:19:47.628163", "msg": "", "rc": 0, "start": "2025-12-19 19:19:47.623828", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004199", "end": "2025-12-19 19:19:40.417685", "msg": "", "rc": 0, "start": "2025-12-19 19:19:40.413486", "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.010994", "end": "2025-12-19 19:20:16.587853", "msg": "", "rc": 0, "start": "2025-12-19 19:20:16.576859", "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.012908", "end": "2025-12-19 19:20:16.608435", "msg": "", "rc": 0, "start": "2025-12-19 19:20:16.595527", "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.005803", "end": "2025-12-19 19:20:16.876921", "msg": "", "rc": 0, "start": "2025-12-19 19:20:16.871118", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004750", "end": "2025-12-19 19:19:43.584202", "msg": "", "rc": 0, "start": "2025-12-19 19:19:43.579452", "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.005272", "end": "2025-12-19 16:20:17.069676", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:20:17.064404", "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.005174", "end": "2025-12-19 19:19:50.919696", "msg": "", "rc": 0, "start": "2025-12-19 19:19:50.914522", "stderr": "", "stderr_lines": [], "stdout": "65.7%", "stdout_lines": ["65.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.005326", "end": "2025-12-19 19:20:17.298137", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.292811", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.010771", "end": "2025-12-19 19:20:19.515053", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.504282", "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.026034", "end": "2025-12-19 19:20:17.291522", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.265488", "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.005170", "end": "2025-12-19 19:20:17.824322", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.819152", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004862", "end": "2025-12-19 19:20:17.852285", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.847423", "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.005555", "end": "2025-12-19 19:20:17.863184", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.857629", "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.002983", "end": "2025-12-19 19:20:17.872958", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.869975", "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.006287", "end": "2025-12-19 19:20:17.885859", "msg": "", "rc": 0, "start": "2025-12-19 19:20:17.879572", "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.002817", "end": "2025-12-19 19:19:49.587935", "msg": "", "rc": 0, "start": "2025-12-19 19:19:49.585118", "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.002987", "end": "2025-12-19 19:19:42.353963", "msg": "", "rc": 0, "start": "2025-12-19 19:19:42.350976", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011836", "end": "2025-12-19 19:20:18.518611", "msg": "", "rc": 0, "start": "2025-12-19 19:20:18.506775", "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-19 19:20:18.570078", "msg": "", "rc": 0, "start": "2025-12-19 19:20:18.556905", "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.003356", "end": "2025-12-19 19:20:18.827932", "msg": "", "rc": 0, "start": "2025-12-19 19:20:18.824576", "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.002674", "end": "2025-12-19 19:19:45.526481", "msg": "", "rc": 0, "start": "2025-12-19 19:19:45.523807", "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.003843", "end": "2025-12-19 16:20:19.019890", "msg": "", "rc": 0, "start": "2025-12-19 16:20:19.016047", "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.003298", "end": "2025-12-19 19:19:52.868154", "msg": "", "rc": 0, "start": "2025-12-19 19:19:52.864856", "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.002954", "end": "2025-12-19 19:20:19.245234", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.242280", "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.004948", "end": "2025-12-19 19:20:21.650469", "msg": "", "rc": 0, "start": "2025-12-19 19:20:21.645521", "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.028473", "end": "2025-12-19 19:20:19.210387", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.181914", "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.004023", "end": "2025-12-19 19:20:19.716531", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.712508", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004009", "end": "2025-12-19 19:20:19.749431", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.745422", "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.005092", "end": "2025-12-19 19:20:19.751088", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.745996", "stderr": "", "stderr_lines": [], "stdout": "1.16", "stdout_lines": ["1.16"]}
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.005334", "end": "2025-12-19 19:20:19.774630", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.769296", "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.005559", "end": "2025-12-19 19:20:19.772981", "msg": "", "rc": 0, "start": "2025-12-19 19:20:19.767422", "stderr": "", "stderr_lines": [], "stdout": "0.80", "stdout_lines": ["0.80"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005061", "end": "2025-12-19 19:19:51.447453", "msg": "", "rc": 0, "start": "2025-12-19 19:19:51.442392", "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.004868", "end": "2025-12-19 19:19:44.243162", "msg": "", "rc": 0, "start": "2025-12-19 19:19:44.238294", "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.010140", "end": "2025-12-19 19:20:20.493451", "msg": "", "rc": 0, "start": "2025-12-19 19:20:20.483311", "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.011532", "end": "2025-12-19 19:20:20.535039", "msg": "", "rc": 0, "start": "2025-12-19 19:20:20.523507", "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.005480", "end": "2025-12-19 19:20:20.689191", "msg": "", "rc": 0, "start": "2025-12-19 19:20:20.683711", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005257", "end": "2025-12-19 19:19:47.440377", "msg": "", "rc": 0, "start": "2025-12-19 19:19:47.435120", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004323", "end": "2025-12-19 19:19:54.820112", "msg": "", "rc": 0, "start": "2025-12-19 19:19:54.815789", "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.005979", "end": "2025-12-19 16:20:20.992929", "msg": "", "rc": 0, "start": "2025-12-19 16:20:20.986950", "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.005277", "end": "2025-12-19 19:20:21.102669", "msg": "", "rc": 0, "start": "2025-12-19 19:20:21.097392", "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.009099", "end": "2025-12-19 19:20:23.740658", "msg": "", "rc": 0, "start": "2025-12-19 19:20:23.731559", "stderr": "", "stderr_lines": [], "stdout": "1.83", "stdout_lines": ["1.83"]}
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.024644", "end": "2025-12-19 19:20:21.090908", "msg": "", "rc": 0, "start": "2025-12-19 19:20:21.066264", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:11 up 24 days, 6:11, 1 user, load average: 0.49, 0.44, 0.41\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.53\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:11 up 10:04, 1 user, load average: 0.23, 0.19, 0.20\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.20\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:11 up 24 days, 6:31, 1 user, load average: 1.28, 1.16, 1.00\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.16\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:11 up 24 days, 7:44, 1 user, load average: 0.58, 0.54, 0.58\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.80\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:11 up 24 days, 8:30, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:13 up 17 days, 8:46, 1 user, load average: 0.43, 0.23, 0.13\nDisk Usage: 21%\nMemory Usage: 20.4%\nCPU Load: 0.40\nCPU Temp: 36.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:12 up 196 days, 10:53, 1 user, load average: 0.37, 0.27, 0.23\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.34\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:12 up 196 days, 10:53, 1 user, load average: 0.15, 0.14, 0.16\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.21\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:19:43 up 13 days, 7:09, 0 user, load average: 0.12, 0.15, 0.14\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:19:36 up 20 days, 3:21, 0 user, load average: 0.01, 0.04, 0.00\nDisk Usage: 25%\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: 19:20:13 up 10:03, 1 user, load average: 0.12, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:19:39 up 22 days, 22:13, 0 user, load average: 0.48, 0.45, 0.50\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:19:47 up 19 days, 8:35, 0 user, load average: 0.72, 0.64, 0.53\nDisk Usage: 76%\nMemory Usage: 65.7%\nCPU Load: 0.77\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:20PM up 24 days, 6:10, 1 user, load averages: 0.24, 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: 19:20:13 up 10:03, 1 user, load average: 0.38, 0.13, 0.03\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:20:15 up 5:42, 1 user, load average: 1.43, 1.20, 1.17\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.83\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-20T00:20:24.728662+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6b634e4898c64185af5b15663c22db7f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:25:00.001355+00:00 |
| **Fin** | 2025-12-20T00:25:21.627233+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: [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.003306", "end": "2025-12-19 19:25:09.398882", "msg": "", "rc": 0, "start": "2025-12-19 19:25:09.395576", "stderr": "", "stderr_lines": [], "stdout": " 19:25:09 up 24 days, 6:16, 1 user, load average: 0.52, 0.46, 0.43", "stdout_lines": [" 19:25:09 up 24 days, 6:16, 1 user, load average: 0.52, 0.46, 0.43"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003715", "end": "2025-12-19 19:25:09.412709", "msg": "", "rc": 0, "start": "2025-12-19 19:25:09.408994", "stderr": "", "stderr_lines": [], "stdout": " 19:25:09 up 24 days, 8:35, 1 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 19:25:09 up 24 days, 8:35, 1 user, load average: 0.03, 0.03, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002891", "end": "2025-12-19 19:25:09.436311", "msg": "", "rc": 0, "start": "2025-12-19 19:25:09.433420", "stderr": "", "stderr_lines": [], "stdout": " 19:25:09 up 10:09, 1 user, load average: 0.23, 0.13, 0.16", "stdout_lines": [" 19:25:09 up 10:09, 1 user, load average: 0.23, 0.13, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004068", "end": "2025-12-19 19:25:09.433214", "msg": "", "rc": 0, "start": "2025-12-19 19:25:09.429146", "stderr": "", "stderr_lines": [], "stdout": " 19:25:09 up 24 days, 7:49, 1 user, load average: 0.85, 0.62, 0.59", "stdout_lines": [" 19:25:09 up 24 days, 7:49, 1 user, load average: 0.85, 0.62, 0.59"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004215", "end": "2025-12-19 19:25:09.468202", "msg": "", "rc": 0, "start": "2025-12-19 19:25:09.463987", "stderr": "", "stderr_lines": [], "stdout": " 19:25:09 up 24 days, 6:36, 1 user, load average: 1.18, 1.04, 0.98", "stdout_lines": [" 19:25:09 up 24 days, 6:36, 1 user, load average: 1.18, 1.04, 0.98"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003376", "end": "2025-12-19 19:24:41.152942", "msg": "", "rc": 0, "start": "2025-12-19 19:24:41.149566", "stderr": "", "stderr_lines": [], "stdout": " 19:24:41 up 13 days, 7:14, 0 user, load average: 0.16, 0.16, 0.15", "stdout_lines": [" 19:24:41 up 13 days, 7:14, 0 user, load average: 0.16, 0.16, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003313", "end": "2025-12-19 19:24:33.938462", "msg": "", "rc": 0, "start": "2025-12-19 19:24:33.935149", "stderr": "", "stderr_lines": [], "stdout": " 19:24:33 up 20 days, 3:26, 0 user, load average: 0.01, 0.04, 0.00", "stdout_lines": [" 19:24:33 up 20 days, 3:26, 0 user, load average: 0.01, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008517", "end": "2025-12-19 19:25:10.087743", "msg": "", "rc": 0, "start": "2025-12-19 19:25:10.079226", "stderr": "", "stderr_lines": [], "stdout": " 19:25:10 up 196 days, 10:58, 1 user, load average: 0.04, 0.10, 0.13", "stdout_lines": [" 19:25:10 up 196 days, 10:58, 1 user, load average: 0.04, 0.10, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009258", "end": "2025-12-19 19:25:10.125372", "msg": "", "rc": 0, "start": "2025-12-19 19:25:10.116114", "stderr": "", "stderr_lines": [], "stdout": " 19:25:10 up 196 days, 10:58, 1 user, load average: 0.29, 0.22, 0.21", "stdout_lines": [" 19:25:10 up 196 days, 10:58, 1 user, load average: 0.29, 0.22, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004595", "end": "2025-12-19 19:25:10.418606", "msg": "", "rc": 0, "start": "2025-12-19 19:25:10.414011", "stderr": "", "stderr_lines": [], "stdout": " 19:25:10 up 10:08, 1 user, load average: 0.22, 0.08, 0.02", "stdout_lines": [" 19:25:10 up 10:08, 1 user, load average: 0.22, 0.08, 0.02"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004210", "end": "2025-12-19 16:25:10.593377", "msg": "", "rc": 0, "start": "2025-12-19 16:25:10.589167", "stderr": "", "stderr_lines": [], "stdout": " 4:25PM up 24 days, 6:14, 1 user, load averages: 0.15, 0.24, 0.23", "stdout_lines": [" 4:25PM up 24 days, 6:14, 1 user, load averages: 0.15, 0.24, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002649", "end": "2025-12-19 19:24:44.454119", "msg": "", "rc": 0, "start": "2025-12-19 19:24:44.451470", "stderr": "", "stderr_lines": [], "stdout": " 19:24:44 up 19 days, 8:40, 0 user, load average: 0.74, 0.55, 0.52", "stdout_lines": [" 19:24:44 up 19 days, 8:40, 0 user, load average: 0.74, 0.55, 0.52"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003554", "end": "2025-12-19 19:24:37.167249", "msg": "", "rc": 0, "start": "2025-12-19 19:24:37.163695", "stderr": "", "stderr_lines": [], "stdout": " 19:24:37 up 22 days, 22:18, 0 user, load average: 0.69, 0.48, 0.49", "stdout_lines": [" 19:24:37 up 22 days, 22:18, 0 user, load average: 0.69, 0.48, 0.49"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003935", "end": "2025-12-19 19:25:10.859161", "msg": "", "rc": 0, "start": "2025-12-19 19:25:10.855226", "stderr": "", "stderr_lines": [], "stdout": " 19:25:10 up 10:08, 1 user, load average: 0.25, 0.18, 0.08", "stdout_lines": [" 19:25:10 up 10:08, 1 user, load average: 0.25, 0.18, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008340", "end": "2025-12-19 19:25:12.259176", "msg": "", "rc": 0, "start": "2025-12-19 19:25:12.250836", "stderr": "", "stderr_lines": [], "stdout": " 19:25:12 up 5:48, 1 user, load average: 1.03, 1.16, 1.17", "stdout_lines": [" 19:25:12 up 5:48, 1 user, load average: 1.03, 1.16, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019692", "end": "2025-12-19 19:25:10.787817", "msg": "", "rc": 0, "start": "2025-12-19 19:25:10.768125", "stderr": "", "stderr_lines": [], "stdout": " 19:25:10 up 17 days, 8:51, 1 user, load average: 0.27, 0.19, 0.13", "stdout_lines": [" 19:25:10 up 17 days, 8:51, 1 user, load average: 0.27, 0.19, 0.13"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004186", "end": "2025-12-19 19:25:11.327119", "msg": "", "rc": 0, "start": "2025-12-19 19:25:11.322933", "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.004208", "end": "2025-12-19 19:25:11.353078", "msg": "", "rc": 0, "start": "2025-12-19 19:25:11.348870", "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.004763", "end": "2025-12-19 19:25:11.386980", "msg": "", "rc": 0, "start": "2025-12-19 19:25:11.382217", "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.004628", "end": "2025-12-19 19:25:11.391373", "msg": "", "rc": 0, "start": "2025-12-19 19:25:11.386745", "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.005898", "end": "2025-12-19 19:25:11.412115", "msg": "", "rc": 0, "start": "2025-12-19 19:25:11.406217", "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.005280", "end": "2025-12-19 19:24:43.120275", "msg": "", "rc": 0, "start": "2025-12-19 19:24:43.114995", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006106", "end": "2025-12-19 19:24:35.899321", "msg": "", "rc": 0, "start": "2025-12-19 19:24:35.893215", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010489", "end": "2025-12-19 19:25:12.115655", "msg": "", "rc": 0, "start": "2025-12-19 19:25:12.105166", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011513", "end": "2025-12-19 19:25:12.122588", "msg": "", "rc": 0, "start": "2025-12-19 19:25:12.111075", "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.005610", "end": "2025-12-19 19:25:12.381056", "msg": "", "rc": 0, "start": "2025-12-19 19:25:12.375446", "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.006316", "end": "2025-12-19 19:24:39.108116", "msg": "", "rc": 0, "start": "2025-12-19 19:24:39.101800", "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.005351", "end": "2025-12-19 16:25:12.584901", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.579550", "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.004850", "end": "2025-12-19 19:24:46.431791", "msg": "", "rc": 0, "start": "2025-12-19 19:24:46.426941", "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.006633", "end": "2025-12-19 19:25:12.823394", "msg": "", "rc": 0, "start": "2025-12-19 19:25:12.816761", "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.025269", "end": "2025-12-19 19:25:12.722591", "msg": "", "rc": 0, "start": "2025-12-19 19:25:12.697322", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021485", "end": "2025-12-19 19:25:14.448659", "msg": "", "rc": 0, "start": "2025-12-19 19:25:14.427174", "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.004208", "end": "2025-12-19 19:25:13.281994", "msg": "", "rc": 0, "start": "2025-12-19 19:25:13.277786", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004203", "end": "2025-12-19 19:25:13.309685", "msg": "", "rc": 0, "start": "2025-12-19 19:25:13.305482", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004754", "end": "2025-12-19 19:25:13.305385", "msg": "", "rc": 0, "start": "2025-12-19 19:25:13.300631", "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.005102", "end": "2025-12-19 19:25:13.330872", "msg": "", "rc": 0, "start": "2025-12-19 19:25:13.325770", "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.007536", "end": "2025-12-19 19:25:13.365244", "msg": "", "rc": 0, "start": "2025-12-19 19:25:13.357708", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003755", "end": "2025-12-19 19:24:45.025445", "msg": "", "rc": 0, "start": "2025-12-19 19:24:45.021690", "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.004631", "end": "2025-12-19 19:24:37.862631", "msg": "", "rc": 0, "start": "2025-12-19 19:24:37.858000", "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.010945", "end": "2025-12-19 19:25:13.990040", "msg": "", "rc": 0, "start": "2025-12-19 19:25:13.979095", "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.011928", "end": "2025-12-19 19:25:14.033058", "msg": "", "rc": 0, "start": "2025-12-19 19:25:14.021130", "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.005725", "end": "2025-12-19 19:25:14.273247", "msg": "", "rc": 0, "start": "2025-12-19 19:25:14.267522", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.003878", "end": "2025-12-19 19:24:48.310116", "msg": "", "rc": 0, "start": "2025-12-19 19:24:48.306238", "stderr": "", "stderr_lines": [], "stdout": "66.6%", "stdout_lines": ["66.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.005187", "end": "2025-12-19 16:25:14.490968", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:25:14.485781", "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.004006", "end": "2025-12-19 19:24:41.039333", "msg": "", "rc": 0, "start": "2025-12-19 19:24:41.035327", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.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.005369", "end": "2025-12-19 19:25:14.719122", "msg": "", "rc": 0, "start": "2025-12-19 19:25:14.713753", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.010993", "end": "2025-12-19 19:25:16.513287", "msg": "", "rc": 0, "start": "2025-12-19 19:25:16.502294", "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.025735", "end": "2025-12-19 19:25:14.674768", "msg": "", "rc": 0, "start": "2025-12-19 19:25:14.649033", "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.005290", "end": "2025-12-19 19:25:15.186490", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.181200", "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.004895", "end": "2025-12-19 19:25:15.215294", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.210399", "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.005481", "end": "2025-12-19 19:25:15.217589", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.212108", "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.002956", "end": "2025-12-19 19:25:15.238944", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.235988", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006643", "end": "2025-12-19 19:25:15.254861", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.248218", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003111", "end": "2025-12-19 19:24:46.906895", "msg": "", "rc": 0, "start": "2025-12-19 19:24:46.903784", "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.003184", "end": "2025-12-19 19:24:39.711173", "msg": "", "rc": 0, "start": "2025-12-19 19:24:39.707989", "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.011887", "end": "2025-12-19 19:25:15.898487", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.886600", "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.012896", "end": "2025-12-19 19:25:15.920239", "msg": "", "rc": 0, "start": "2025-12-19 19:25:15.907343", "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.003391", "end": "2025-12-19 19:25:16.159269", "msg": "", "rc": 0, "start": "2025-12-19 19:25:16.155878", "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.002938", "end": "2025-12-19 19:24:42.904283", "msg": "", "rc": 0, "start": "2025-12-19 19:24:42.901345", "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.003915", "end": "2025-12-19 16:25:16.388733", "msg": "", "rc": 0, "start": "2025-12-19 16:25:16.384818", "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.002693", "end": "2025-12-19 19:24:50.240835", "msg": "", "rc": 0, "start": "2025-12-19 19:24:50.238142", "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.002942", "end": "2025-12-19 19:25:16.578880", "msg": "", "rc": 0, "start": "2025-12-19 19:25:16.575938", "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.004788", "end": "2025-12-19 19:25:18.589856", "msg": "", "rc": 0, "start": "2025-12-19 19:25:18.585068", "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.028659", "end": "2025-12-19 19:25:16.576950", "msg": "", "rc": 0, "start": "2025-12-19 19:25:16.548291", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.004181", "end": "2025-12-19 19:25:17.091399", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.087218", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
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.004044", "end": "2025-12-19 19:25:17.114517", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.110473", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004705", "end": "2025-12-19 19:25:17.121938", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.117233", "stderr": "", "stderr_lines": [], "stdout": "1.24", "stdout_lines": ["1.24"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005230", "end": "2025-12-19 19:25:17.157840", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.152610", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005284", "end": "2025-12-19 19:25:17.164426", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.159142", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004691", "end": "2025-12-19 19:24:48.811606", "msg": "", "rc": 0, "start": "2025-12-19 19:24:48.806915", "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.005028", "end": "2025-12-19 19:24:41.615680", "msg": "", "rc": 0, "start": "2025-12-19 19:24:41.610652", "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.010258", "end": "2025-12-19 19:25:17.887275", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.877017", "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.011052", "end": "2025-12-19 19:25:17.893781", "msg": "", "rc": 0, "start": "2025-12-19 19:25:17.882729", "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.005642", "end": "2025-12-19 19:25:18.048795", "msg": "", "rc": 0, "start": "2025-12-19 19:25:18.043153", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005130", "end": "2025-12-19 19:24:44.784966", "msg": "", "rc": 0, "start": "2025-12-19 19:24:44.779836", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
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.006396", "end": "2025-12-19 16:25:18.351860", "msg": "", "rc": 0, "start": "2025-12-19 16:25:18.345464", "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.004125", "end": "2025-12-19 19:24:52.260675", "msg": "", "rc": 0, "start": "2025-12-19 19:24:52.256550", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
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.005585", "end": "2025-12-19 19:25:18.477497", "msg": "", "rc": 0, "start": "2025-12-19 19:25:18.471912", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.007692", "end": "2025-12-19 19:25:20.704840", "msg": "", "rc": 0, "start": "2025-12-19 19:25:20.697148", "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.024067", "end": "2025-12-19 19:25:18.473792", "msg": "", "rc": 0, "start": "2025-12-19 19:25:18.449725", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:09 up 24 days, 6:16, 1 user, load average: 0.52, 0.46, 0.43\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.59\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:09 up 10:09, 1 user, load average: 0.23, 0.13, 0.16\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.21\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:09 up 24 days, 6:36, 1 user, load average: 1.18, 1.04, 0.98\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.24\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:09 up 24 days, 7:49, 1 user, load average: 0.85, 0.62, 0.59\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.94\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:09 up 24 days, 8:35, 1 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:10 up 17 days, 8:51, 1 user, load average: 0.27, 0.19, 0.13\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.38\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:10 up 196 days, 10:58, 1 user, load average: 0.29, 0.22, 0.21\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.33\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:10 up 196 days, 10:58, 1 user, load average: 0.04, 0.10, 0.13\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.04\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:24:41 up 13 days, 7:14, 0 user, load average: 0.16, 0.16, 0.15\nDisk Usage: 50%\nMemory Usage: 70.7%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:24:33 up 20 days, 3:26, 0 user, load average: 0.01, 0.04, 0.00\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:10 up 10:08, 1 user, load average: 0.22, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:24:37 up 22 days, 22:18, 0 user, load average: 0.69, 0.48, 0.49\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.64\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:24:44 up 19 days, 8:40, 0 user, load average: 0.74, 0.55, 0.52\nDisk Usage: 76%\nMemory Usage: 66.6%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:25PM up 24 days, 6:14, 1 user, load averages: 0.15, 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: 19:25:10 up 10:08, 1 user, load average: 0.25, 0.18, 0.08\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:25:12 up 5:48, 1 user, load average: 1.03, 1.16, 1.17\nDisk Usage: 1%\nMemory Usage: 12.7%\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-20T00:25:21.688694+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `05175ef43b8a4645863509e1c19fc65f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:30:00.006320+00:00 |
| **Fin** | 2025-12-20T00:30:24.605363+00:00 |
| **Durée** | 24.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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.003219", "end": "2025-12-19 19:30:11.899720", "msg": "", "rc": 0, "start": "2025-12-19 19:30:11.896501", "stderr": "", "stderr_lines": [], "stdout": " 19:30:11 up 24 days, 6:21, 1 user, load average: 0.23, 0.36, 0.39", "stdout_lines": [" 19:30:11 up 24 days, 6:21, 1 user, load average: 0.23, 0.36, 0.39"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003877", "end": "2025-12-19 19:30:11.912456", "msg": "", "rc": 0, "start": "2025-12-19 19:30:11.908579", "stderr": "", "stderr_lines": [], "stdout": " 19:30:11 up 24 days, 8:40, 1 user, load average: 0.52, 0.14, 0.04", "stdout_lines": [" 19:30:11 up 24 days, 8:40, 1 user, load average: 0.52, 0.14, 0.04"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004431", "end": "2025-12-19 19:30:11.938130", "msg": "", "rc": 0, "start": "2025-12-19 19:30:11.933699", "stderr": "", "stderr_lines": [], "stdout": " 19:30:11 up 24 days, 7:54, 1 user, load average: 0.51, 0.61, 0.61", "stdout_lines": [" 19:30:11 up 24 days, 7:54, 1 user, load average: 0.51, 0.61, 0.61"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003388", "end": "2025-12-19 19:30:11.937424", "msg": "", "rc": 0, "start": "2025-12-19 19:30:11.934036", "stderr": "", "stderr_lines": [], "stdout": " 19:30:11 up 24 days, 6:41, 1 user, load average: 0.78, 0.89, 0.94", "stdout_lines": [" 19:30:11 up 24 days, 6:41, 1 user, load average: 0.78, 0.89, 0.94"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002789", "end": "2025-12-19 19:30:11.939077", "msg": "", "rc": 0, "start": "2025-12-19 19:30:11.936288", "stderr": "", "stderr_lines": [], "stdout": " 19:30:11 up 10:14, 1 user, load average: 0.18, 0.12, 0.15", "stdout_lines": [" 19:30:11 up 10:14, 1 user, load average: 0.18, 0.12, 0.15"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003751", "end": "2025-12-19 19:29:43.648438", "msg": "", "rc": 0, "start": "2025-12-19 19:29:43.644687", "stderr": "", "stderr_lines": [], "stdout": " 19:29:43 up 13 days, 7:19, 0 user, load average: 0.02, 0.12, 0.14", "stdout_lines": [" 19:29:43 up 13 days, 7:19, 0 user, load average: 0.02, 0.12, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003719", "end": "2025-12-19 19:29:36.443936", "msg": "", "rc": 0, "start": "2025-12-19 19:29:36.440217", "stderr": "", "stderr_lines": [], "stdout": " 19:29:36 up 20 days, 3:31, 0 user, load average: 0.12, 0.12, 0.04", "stdout_lines": [" 19:29:36 up 20 days, 3:31, 0 user, load average: 0.12, 0.12, 0.04"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008351", "end": "2025-12-19 19:30:12.611715", "msg": "", "rc": 0, "start": "2025-12-19 19:30:12.603364", "stderr": "", "stderr_lines": [], "stdout": " 19:30:12 up 196 days, 11:03, 1 user, load average: 0.11, 0.11, 0.12", "stdout_lines": [" 19:30:12 up 196 days, 11:03, 1 user, load average: 0.11, 0.11, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009359", "end": "2025-12-19 19:30:12.626864", "msg": "", "rc": 0, "start": "2025-12-19 19:30:12.617505", "stderr": "", "stderr_lines": [], "stdout": " 19:30:12 up 196 days, 11:03, 1 user, load average: 0.39, 0.25, 0.21", "stdout_lines": [" 19:30:12 up 196 days, 11:03, 1 user, load average: 0.39, 0.25, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004477", "end": "2025-12-19 19:30:12.931012", "msg": "", "rc": 0, "start": "2025-12-19 19:30:12.926535", "stderr": "", "stderr_lines": [], "stdout": " 19:30:12 up 10:13, 1 user, load average: 0.24, 0.09, 0.02", "stdout_lines": [" 19:30:12 up 10:13, 1 user, load average: 0.24, 0.09, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003498", "end": "2025-12-19 19:29:39.626006", "msg": "", "rc": 0, "start": "2025-12-19 19:29:39.622508", "stderr": "", "stderr_lines": [], "stdout": " 19:29:39 up 22 days, 22:23, 0 user, load average: 0.48, 0.50, 0.49", "stdout_lines": [" 19:29:39 up 22 days, 22:23, 0 user, load average: 0.48, 0.50, 0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004179", "end": "2025-12-19 16:30:13.081164", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.076985", "stderr": "", "stderr_lines": [], "stdout": " 4:30PM up 24 days, 6:20, 1 user, load averages: 0.31, 0.30, 0.26", "stdout_lines": [" 4:30PM up 24 days, 6:20, 1 user, load averages: 0.31, 0.30, 0.26"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003259", "end": "2025-12-19 19:29:46.948029", "msg": "", "rc": 0, "start": "2025-12-19 19:29:46.944770", "stderr": "", "stderr_lines": [], "stdout": " 19:29:46 up 19 days, 8:45, 0 user, load average: 0.33, 0.33, 0.42", "stdout_lines": [" 19:29:46 up 19 days, 8:45, 0 user, load average: 0.33, 0.33, 0.42"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003878", "end": "2025-12-19 19:30:13.374831", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.370953", "stderr": "", "stderr_lines": [], "stdout": " 19:30:13 up 10:13, 1 user, load average: 0.16, 0.21, 0.12", "stdout_lines": [" 19:30:13 up 10:13, 1 user, load average: 0.16, 0.21, 0.12"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019647", "end": "2025-12-19 19:30:13.285251", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.265604", "stderr": "", "stderr_lines": [], "stdout": " 19:30:13 up 17 days, 8:56, 1 user, load average: 0.25, 0.21, 0.15", "stdout_lines": [" 19:30:13 up 17 days, 8:56, 1 user, load average: 0.25, 0.21, 0.15"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010676", "end": "2025-12-19 19:30:15.180123", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.169447", "stderr": "", "stderr_lines": [], "stdout": " 19:30:15 up 5:53, 1 user, load average: 1.51, 1.24, 1.20", "stdout_lines": [" 19:30:15 up 5:53, 1 user, load average: 1.51, 1.24, 1.20"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004963", "end": "2025-12-19 19:30:13.837096", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.832133", "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.004284", "end": "2025-12-19 19:30:13.838024", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.833740", "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.004808", "end": "2025-12-19 19:30:13.879705", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.874897", "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.005003", "end": "2025-12-19 19:30:13.883446", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.878443", "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.006815", "end": "2025-12-19 19:30:13.924722", "msg": "", "rc": 0, "start": "2025-12-19 19:30:13.917907", "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.005077", "end": "2025-12-19 19:29:45.591998", "msg": "", "rc": 0, "start": "2025-12-19 19:29:45.586921", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007393", "end": "2025-12-19 19:29:38.427537", "msg": "", "rc": 0, "start": "2025-12-19 19:29:38.420144", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010471", "end": "2025-12-19 19:30:14.606725", "msg": "", "rc": 0, "start": "2025-12-19 19:30:14.596254", "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.011443", "end": "2025-12-19 19:30:14.614264", "msg": "", "rc": 0, "start": "2025-12-19 19:30:14.602821", "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.005673", "end": "2025-12-19 19:30:14.873296", "msg": "", "rc": 0, "start": "2025-12-19 19:30:14.867623", "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.005572", "end": "2025-12-19 16:30:15.090958", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.085386", "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.006147", "end": "2025-12-19 19:29:41.656683", "msg": "", "rc": 0, "start": "2025-12-19 19:29:41.650536", "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.004873", "end": "2025-12-19 19:29:48.963851", "msg": "", "rc": 0, "start": "2025-12-19 19:29:48.958978", "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.005204", "end": "2025-12-19 19:30:15.319169", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.313965", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025381", "end": "2025-12-19 19:30:15.237772", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.212391", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020860", "end": "2025-12-19 19:30:17.361528", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.340668", "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.004138", "end": "2025-12-19 19:30:15.813558", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.809420", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004120", "end": "2025-12-19 19:30:15.811502", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.807382", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004699", "end": "2025-12-19 19:30:15.837492", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.832793", "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.004692", "end": "2025-12-19 19:30:15.861803", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.857111", "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.005908", "end": "2025-12-19 19:30:15.875921", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.870013", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004218", "end": "2025-12-19 19:29:47.523340", "msg": "", "rc": 0, "start": "2025-12-19 19:29:47.519122", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004355", "end": "2025-12-19 19:29:40.334525", "msg": "", "rc": 0, "start": "2025-12-19 19:29:40.330170", "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.010975", "end": "2025-12-19 19:30:16.496881", "msg": "", "rc": 0, "start": "2025-12-19 19:30:16.485906", "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.011590", "end": "2025-12-19 19:30:16.529700", "msg": "", "rc": 0, "start": "2025-12-19 19:30:16.518110", "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.005808", "end": "2025-12-19 19:30:16.784072", "msg": "", "rc": 0, "start": "2025-12-19 19:30:16.778264", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004253", "end": "2025-12-19 19:29:43.515977", "msg": "", "rc": 0, "start": "2025-12-19 19:29:43.511724", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003801", "end": "2025-12-19 19:29:50.810407", "msg": "", "rc": 0, "start": "2025-12-19 19:29:50.806606", "stderr": "", "stderr_lines": [], "stdout": "60.5%", "stdout_lines": ["60.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005914", "end": "2025-12-19 16:30:16.987051", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:30:16.981137", "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.005406", "end": "2025-12-19 19:30:17.231049", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.225643", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.010390", "end": "2025-12-19 19:30:19.426856", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.416466", "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.025851", "end": "2025-12-19 19:30:17.208449", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.182598", "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.005206", "end": "2025-12-19 19:30:17.727694", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.722488", "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-19 19:30:17.734327", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.729468", "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.005670", "end": "2025-12-19 19:30:17.748621", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.742951", "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.003211", "end": "2025-12-19 19:30:17.779338", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.776127", "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-19 19:30:17.788488", "msg": "", "rc": 0, "start": "2025-12-19 19:30:17.781863", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002645", "end": "2025-12-19 19:29:49.455245", "msg": "", "rc": 0, "start": "2025-12-19 19:29:49.452600", "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.002908", "end": "2025-12-19 19:29:42.249575", "msg": "", "rc": 0, "start": "2025-12-19 19:29:42.246667", "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.011689", "end": "2025-12-19 19:30:18.427886", "msg": "", "rc": 0, "start": "2025-12-19 19:30:18.416197", "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.013064", "end": "2025-12-19 19:30:18.467859", "msg": "", "rc": 0, "start": "2025-12-19 19:30:18.454795", "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.003117", "end": "2025-12-19 19:30:18.694054", "msg": "", "rc": 0, "start": "2025-12-19 19:30:18.690937", "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.002935", "end": "2025-12-19 19:29:45.431349", "msg": "", "rc": 0, "start": "2025-12-19 19:29:45.428414", "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.002982", "end": "2025-12-19 19:29:52.752867", "msg": "", "rc": 0, "start": "2025-12-19 19:29:52.749885", "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.004309", "end": "2025-12-19 16:30:18.934480", "msg": "", "rc": 0, "start": "2025-12-19 16:30:18.930171", "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.002967", "end": "2025-12-19 19:30:19.115745", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.112778", "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.004726", "end": "2025-12-19 19:30:21.531811", "msg": "", "rc": 0, "start": "2025-12-19 19:30:21.527085", "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.028980", "end": "2025-12-19 19:30:19.126214", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.097234", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.004179", "end": "2025-12-19 19:30:19.627729", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.623550", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003990", "end": "2025-12-19 19:30:19.661105", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.657115", "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.004666", "end": "2025-12-19 19:30:19.668572", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.663906", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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.005202", "end": "2025-12-19 19:30:19.691417", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.686215", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
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.005399", "end": "2025-12-19 19:30:19.693629", "msg": "", "rc": 0, "start": "2025-12-19 19:30:19.688230", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
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.005069", "end": "2025-12-19 19:29:51.389542", "msg": "", "rc": 0, "start": "2025-12-19 19:29:51.384473", "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.005548", "end": "2025-12-19 19:29:44.181029", "msg": "", "rc": 0, "start": "2025-12-19 19:29:44.175481", "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.010282", "end": "2025-12-19 19:30:20.437166", "msg": "", "rc": 0, "start": "2025-12-19 19:30:20.426884", "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.011219", "end": "2025-12-19 19:30:20.451165", "msg": "", "rc": 0, "start": "2025-12-19 19:30:20.439946", "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.005585", "end": "2025-12-19 19:30:20.642278", "msg": "", "rc": 0, "start": "2025-12-19 19:30:20.636693", "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.004960", "end": "2025-12-19 19:29:47.368342", "msg": "", "rc": 0, "start": "2025-12-19 19:29:47.363382", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006145", "end": "2025-12-19 16:30:20.905888", "msg": "", "rc": 0, "start": "2025-12-19 16:30:20.899743", "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.004539", "end": "2025-12-19 19:29:54.774719", "msg": "", "rc": 0, "start": "2025-12-19 19:29:54.770180", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
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-19 19:30:21.057516", "msg": "", "rc": 0, "start": "2025-12-19 19:30:21.052234", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.008843", "end": "2025-12-19 19:30:23.673307", "msg": "", "rc": 0, "start": "2025-12-19 19:30:23.664464", "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.024311", "end": "2025-12-19 19:30:21.032485", "msg": "", "rc": 0, "start": "2025-12-19 19:30:21.008174", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
TASK [Display health status] ***************************************************
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:11 up 24 days, 6:41, 1 user, load average: 0.78, 0.89, 0.94\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.73\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:11 up 10:14, 1 user, load average: 0.18, 0.12, 0.15\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.23\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:11 up 24 days, 6:21, 1 user, load average: 0.23, 0.36, 0.39\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.21\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:11 up 24 days, 7:54, 1 user, load average: 0.51, 0.61, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.66\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:11 up 24 days, 8:40, 1 user, load average: 0.52, 0.14, 0.04\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:13 up 17 days, 8:56, 1 user, load average: 0.25, 0.21, 0.15\nDisk Usage: 21%\nMemory Usage: 20.8%\nCPU Load: 0.31\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:12 up 196 days, 11:03, 1 user, load average: 0.39, 0.25, 0.21\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.33\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:12 up 196 days, 11:03, 1 user, load average: 0.11, 0.11, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.10\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:29:43 up 13 days, 7:19, 0 user, load average: 0.02, 0.12, 0.14\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:29:36 up 20 days, 3:31, 0 user, load average: 0.12, 0.12, 0.04\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:12 up 10:13, 1 user, load average: 0.24, 0.09, 0.02\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:29:39 up 22 days, 22:23, 0 user, load average: 0.48, 0.50, 0.49\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:29:46 up 19 days, 8:45, 0 user, load average: 0.33, 0.33, 0.42\nDisk Usage: 76%\nMemory Usage: 60.5%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:30PM up 24 days, 6:20, 1 user, load averages: 0.31, 0.30, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:13 up 10:13, 1 user, load average: 0.16, 0.21, 0.12\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:30:15 up 5:53, 1 user, load average: 1.51, 1.24, 1.20\nDisk Usage: 1%\nMemory Usage: 12.7%\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-20T00:30:24.670345+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `793ffa4ee7214e8cbdf3c5258294beef` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:35:00.007577+00:00 |
| **Fin** | 2025-12-20T00:35:21.397210+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [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.003251", "end": "2025-12-19 19:35:11.119708", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.116457", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 24 days, 6:26, 1 user, load average: 0.35, 0.31, 0.36", "stdout_lines": [" 19:35:11 up 24 days, 6:26, 1 user, load average: 0.35, 0.31, 0.36"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003853", "end": "2025-12-19 19:35:11.132306", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.128453", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 24 days, 8:45, 1 user, load average: 0.07, 0.08, 0.03", "stdout_lines": [" 19:35:11 up 24 days, 8:45, 1 user, load average: 0.07, 0.08, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003504", "end": "2025-12-19 19:35:11.133749", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.130245", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 24 days, 6:46, 1 user, load average: 1.11, 0.99, 0.96", "stdout_lines": [" 19:35:11 up 24 days, 6:46, 1 user, load average: 1.11, 0.99, 0.96"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002950", "end": "2025-12-19 19:35:11.163916", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.160966", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 10:19, 1 user, load average: 0.47, 0.22, 0.17", "stdout_lines": [" 19:35:11 up 10:19, 1 user, load average: 0.47, 0.22, 0.17"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009959", "end": "2025-12-19 19:35:11.163621", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.153662", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 24 days, 7:59, 1 user, load average: 0.81, 0.62, 0.61", "stdout_lines": [" 19:35:11 up 24 days, 7:59, 1 user, load average: 0.81, 0.62, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002970", "end": "2025-12-19 19:34:42.826496", "msg": "", "rc": 0, "start": "2025-12-19 19:34:42.823526", "stderr": "", "stderr_lines": [], "stdout": " 19:34:42 up 13 days, 7:24, 0 user, load average: 0.11, 0.12, 0.12", "stdout_lines": [" 19:34:42 up 13 days, 7:24, 0 user, load average: 0.11, 0.12, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003264", "end": "2025-12-19 19:34:35.629876", "msg": "", "rc": 0, "start": "2025-12-19 19:34:35.626612", "stderr": "", "stderr_lines": [], "stdout": " 19:34:35 up 20 days, 3:36, 0 user, load average: 0.02, 0.08, 0.04", "stdout_lines": [" 19:34:35 up 20 days, 3:36, 0 user, load average: 0.02, 0.08, 0.04"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008407", "end": "2025-12-19 19:35:11.786118", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.777711", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 196 days, 11:08, 1 user, load average: 0.15, 0.12, 0.11", "stdout_lines": [" 19:35:11 up 196 days, 11:08, 1 user, load average: 0.15, 0.12, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009079", "end": "2025-12-19 19:35:11.825353", "msg": "", "rc": 0, "start": "2025-12-19 19:35:11.816274", "stderr": "", "stderr_lines": [], "stdout": " 19:35:11 up 196 days, 11:08, 1 user, load average: 0.33, 0.23, 0.19", "stdout_lines": [" 19:35:11 up 196 days, 11:08, 1 user, load average: 0.33, 0.23, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005050", "end": "2025-12-19 19:35:12.080668", "msg": "", "rc": 0, "start": "2025-12-19 19:35:12.075618", "stderr": "", "stderr_lines": [], "stdout": " 19:35:12 up 10:18, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 19:35:12 up 10:18, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003310", "end": "2025-12-19 19:34:38.801769", "msg": "", "rc": 0, "start": "2025-12-19 19:34:38.798459", "stderr": "", "stderr_lines": [], "stdout": " 19:34:38 up 22 days, 22:28, 0 user, load average: 0.34, 0.42, 0.45", "stdout_lines": [" 19:34:38 up 22 days, 22:28, 0 user, load average: 0.34, 0.42, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003025", "end": "2025-12-19 19:34:46.099620", "msg": "", "rc": 0, "start": "2025-12-19 19:34:46.096595", "stderr": "", "stderr_lines": [], "stdout": " 19:34:46 up 19 days, 8:50, 0 user, load average: 0.61, 0.36, 0.38", "stdout_lines": [" 19:34:46 up 19 days, 8:50, 0 user, load average: 0.61, 0.36, 0.38"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004179", "end": "2025-12-19 16:35:12.290070", "msg": "", "rc": 0, "start": "2025-12-19 16:35:12.285891", "stderr": "", "stderr_lines": [], "stdout": " 4:35PM up 24 days, 6:24, 1 user, load averages: 0.17, 0.22, 0.23", "stdout_lines": [" 4:35PM up 24 days, 6:24, 1 user, load averages: 0.17, 0.22, 0.23"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003620", "end": "2025-12-19 19:35:12.519428", "msg": "", "rc": 0, "start": "2025-12-19 19:35:12.515808", "stderr": "", "stderr_lines": [], "stdout": " 19:35:12 up 10:18, 1 user, load average: 0.10, 0.19, 0.13", "stdout_lines": [" 19:35:12 up 10:18, 1 user, load average: 0.10, 0.19, 0.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019730", "end": "2025-12-19 19:35:12.501524", "msg": "", "rc": 0, "start": "2025-12-19 19:35:12.481794", "stderr": "", "stderr_lines": [], "stdout": " 19:35:12 up 17 days, 9:01, 1 user, load average: 0.22, 0.16, 0.14", "stdout_lines": [" 19:35:12 up 17 days, 9:01, 1 user, load average: 0.22, 0.16, 0.14"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009417", "end": "2025-12-19 19:35:15.057496", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.048079", "stderr": "", "stderr_lines": [], "stdout": " 19:35:15 up 5:59, 1 user, load average: 1.51, 1.23, 1.19", "stdout_lines": [" 19:35:15 up 5:59, 1 user, load average: 1.51, 1.23, 1.19"]}
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-19 19:35:13.070033", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.065779", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004224", "end": "2025-12-19 19:35:13.089930", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.085706", "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.004807", "end": "2025-12-19 19:35:13.102299", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.097492", "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.004432", "end": "2025-12-19 19:35:13.123436", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.119004", "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.005567", "end": "2025-12-19 19:35:13.142133", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.136566", "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.005503", "end": "2025-12-19 19:34:44.766599", "msg": "", "rc": 0, "start": "2025-12-19 19:34:44.761096", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006591", "end": "2025-12-19 19:34:37.581815", "msg": "", "rc": 0, "start": "2025-12-19 19:34:37.575224", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010768", "end": "2025-12-19 19:35:13.811339", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.800571", "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.011518", "end": "2025-12-19 19:35:13.855575", "msg": "", "rc": 0, "start": "2025-12-19 19:35:13.844057", "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.005942", "end": "2025-12-19 19:35:14.044398", "msg": "", "rc": 0, "start": "2025-12-19 19:35:14.038456", "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.006288", "end": "2025-12-19 19:34:40.831440", "msg": "", "rc": 0, "start": "2025-12-19 19:34:40.825152", "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.004643", "end": "2025-12-19 19:34:48.134178", "msg": "", "rc": 0, "start": "2025-12-19 19:34:48.129535", "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.005311", "end": "2025-12-19 16:35:14.313948", "msg": "", "rc": 0, "start": "2025-12-19 16:35:14.308637", "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.005449", "end": "2025-12-19 19:35:14.463905", "msg": "", "rc": 0, "start": "2025-12-19 19:35:14.458456", "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.025267", "end": "2025-12-19 19:35:14.457023", "msg": "", "rc": 0, "start": "2025-12-19 19:35:14.431756", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021731", "end": "2025-12-19 19:35:17.145242", "msg": "", "rc": 0, "start": "2025-12-19 19:35:17.123511", "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.004305", "end": "2025-12-19 19:35:14.970947", "msg": "", "rc": 0, "start": "2025-12-19 19:35:14.966642", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004801", "end": "2025-12-19 19:35:14.998070", "msg": "", "rc": 0, "start": "2025-12-19 19:35:14.993269", "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.004130", "end": "2025-12-19 19:35:15.008223", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.004093", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004939", "end": "2025-12-19 19:35:15.027523", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.022584", "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.008276", "end": "2025-12-19 19:35:15.056885", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.048609", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003930", "end": "2025-12-19 19:34:46.695699", "msg": "", "rc": 0, "start": "2025-12-19 19:34:46.691769", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005476", "end": "2025-12-19 19:34:39.522420", "msg": "", "rc": 0, "start": "2025-12-19 19:34:39.516944", "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.010942", "end": "2025-12-19 19:35:15.658795", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.647853", "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.012059", "end": "2025-12-19 19:35:15.699695", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.687636", "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.005707", "end": "2025-12-19 19:35:15.950738", "msg": "", "rc": 0, "start": "2025-12-19 19:35:15.945031", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.003604", "end": "2025-12-19 19:34:49.988395", "msg": "", "rc": 0, "start": "2025-12-19 19:34:49.984791", "stderr": "", "stderr_lines": [], "stdout": "60.2%", "stdout_lines": ["60.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.005194", "end": "2025-12-19 16:35:16.172788", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:35:16.167594", "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.004361", "end": "2025-12-19 19:34:42.719262", "msg": "", "rc": 0, "start": "2025-12-19 19:34:42.714901", "stderr": "", "stderr_lines": [], "stdout": "26.9%", "stdout_lines": ["26.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005436", "end": "2025-12-19 19:35:16.378821", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.373385", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.010519", "end": "2025-12-19 19:35:19.215105", "msg": "", "rc": 0, "start": "2025-12-19 19:35:19.204586", "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.025923", "end": "2025-12-19 19:35:16.348580", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.322657", "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.005308", "end": "2025-12-19 19:35:16.869993", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.864685", "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.004840", "end": "2025-12-19 19:35:16.876916", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.872076", "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.005522", "end": "2025-12-19 19:35:16.881915", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.876393", "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.003300", "end": "2025-12-19 19:35:16.926250", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.922950", "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.006763", "end": "2025-12-19 19:35:16.934008", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.927245", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002761", "end": "2025-12-19 19:34:48.586977", "msg": "", "rc": 0, "start": "2025-12-19 19:34:48.584216", "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.003219", "end": "2025-12-19 19:34:41.404685", "msg": "", "rc": 0, "start": "2025-12-19 19:34:41.401466", "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.011962", "end": "2025-12-19 19:35:17.572289", "msg": "", "rc": 0, "start": "2025-12-19 19:35:17.560327", "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.013267", "end": "2025-12-19 19:35:17.624667", "msg": "", "rc": 0, "start": "2025-12-19 19:35:17.611400", "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.003094", "end": "2025-12-19 19:35:17.840432", "msg": "", "rc": 0, "start": "2025-12-19 19:35:17.837338", "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.003055", "end": "2025-12-19 19:34:44.588733", "msg": "", "rc": 0, "start": "2025-12-19 19:34:44.585678", "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.002536", "end": "2025-12-19 19:34:51.887739", "msg": "", "rc": 0, "start": "2025-12-19 19:34:51.885203", "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.003995", "end": "2025-12-19 16:35:18.089091", "msg": "", "rc": 0, "start": "2025-12-19 16:35:18.085096", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002887", "end": "2025-12-19 19:35:18.258080", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.255193", "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.004546", "end": "2025-12-19 19:35:21.283689", "msg": "", "rc": 0, "start": "2025-12-19 19:35:21.279143", "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.028501", "end": "2025-12-19 19:35:18.273063", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.244562", "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.004083", "end": "2025-12-19 19:35:18.805220", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.801137", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
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.004217", "end": "2025-12-19 19:35:18.818796", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.814579", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004879", "end": "2025-12-19 19:35:18.843633", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.838754", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004618", "end": "2025-12-19 19:35:18.857584", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.852966", "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.005570", "end": "2025-12-19 19:35:18.869751", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.864181", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004183", "end": "2025-12-19 19:34:50.515586", "msg": "", "rc": 0, "start": "2025-12-19 19:34:50.511403", "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.005206", "end": "2025-12-19 19:34:43.315829", "msg": "", "rc": 0, "start": "2025-12-19 19:34:43.310623", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010229", "end": "2025-12-19 19:35:19.572771", "msg": "", "rc": 0, "start": "2025-12-19 19:35:19.562542", "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.011229", "end": "2025-12-19 19:35:19.608498", "msg": "", "rc": 0, "start": "2025-12-19 19:35:19.597269", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005572", "end": "2025-12-19 19:35:19.761830", "msg": "", "rc": 0, "start": "2025-12-19 19:35:19.756258", "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.004689", "end": "2025-12-19 19:34:46.488361", "msg": "", "rc": 0, "start": "2025-12-19 19:34:46.483672", "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.004642", "end": "2025-12-19 19:34:53.887737", "msg": "", "rc": 0, "start": "2025-12-19 19:34:53.883095", "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.006077", "end": "2025-12-19 16:35:20.075456", "msg": "", "rc": 0, "start": "2025-12-19 16:35:20.069379", "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.005274", "end": "2025-12-19 19:35:20.190454", "msg": "", "rc": 0, "start": "2025-12-19 19:35:20.185180", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007578", "end": "2025-12-19 19:35:20.445453", "msg": "", "rc": 0, "start": "2025-12-19 19:35:20.437875", "stderr": "", "stderr_lines": [], "stdout": "1.66", "stdout_lines": ["1.66"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024030", "end": "2025-12-19 19:35:20.188945", "msg": "", "rc": 0, "start": "2025-12-19 19:35:20.164915", "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: 19:35:11 up 10:19, 1 user, load average: 0.47, 0.22, 0.17\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.51\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:11 up 24 days, 6:26, 1 user, load average: 0.35, 0.31, 0.36\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.40\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:11 up 24 days, 6:46, 1 user, load average: 1.11, 0.99, 0.96\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.94\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:11 up 24 days, 7:59, 1 user, load average: 0.81, 0.62, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.91\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:11 up 24 days, 8:45, 1 user, load average: 0.07, 0.08, 0.03\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: 19:35:12 up 17 days, 9:01, 1 user, load average: 0.22, 0.16, 0.14\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.27\nCPU Temp: 36.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:11 up 196 days, 11:08, 1 user, load average: 0.33, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.28\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:11 up 196 days, 11:08, 1 user, load average: 0.15, 0.12, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.20\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:34:42 up 13 days, 7:24, 0 user, load average: 0.11, 0.12, 0.12\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:34:35 up 20 days, 3:36, 0 user, load average: 0.02, 0.08, 0.04\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:12 up 10:18, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:34:38 up 22 days, 22:28, 0 user, load average: 0.34, 0.42, 0.45\nDisk Usage: 28%\nMemory Usage: 26.9%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:34:46 up 19 days, 8:50, 0 user, load average: 0.61, 0.36, 0.38\nDisk Usage: 76%\nMemory Usage: 60.2%\nCPU Load: 0.52\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:35PM up 24 days, 6:24, 1 user, load averages: 0.17, 0.22, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:12 up 10:18, 1 user, load average: 0.10, 0.19, 0.13\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:35:15 up 5:59, 1 user, load average: 1.51, 1.23, 1.19\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-20T00:35:21.457164+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1ec0b0d758b34b28bb8c02e5ef0932b7` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:40:00.009377+00:00 |
| **Fin** | 2025-12-20T00:40:21.586692+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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003607", "end": "2025-12-19 19:40:10.572737", "msg": "", "rc": 0, "start": "2025-12-19 19:40:10.569130", "stderr": "", "stderr_lines": [], "stdout": " 19:40:10 up 24 days, 8:50, 1 user, load average: 0.02, 0.05, 0.01", "stdout_lines": [" 19:40:10 up 24 days, 8:50, 1 user, load average: 0.02, 0.05, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004093", "end": "2025-12-19 19:40:10.586071", "msg": "", "rc": 0, "start": "2025-12-19 19:40:10.581978", "stderr": "", "stderr_lines": [], "stdout": " 19:40:10 up 24 days, 6:51, 1 user, load average: 0.73, 1.04, 1.00", "stdout_lines": [" 19:40:10 up 24 days, 6:51, 1 user, load average: 0.73, 1.04, 1.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002826", "end": "2025-12-19 19:40:10.598297", "msg": "", "rc": 0, "start": "2025-12-19 19:40:10.595471", "stderr": "", "stderr_lines": [], "stdout": " 19:40:10 up 10:24, 1 user, load average: 0.20, 0.27, 0.20", "stdout_lines": [" 19:40:10 up 10:24, 1 user, load average: 0.20, 0.27, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004037", "end": "2025-12-19 19:40:10.594786", "msg": "", "rc": 0, "start": "2025-12-19 19:40:10.590749", "stderr": "", "stderr_lines": [], "stdout": " 19:40:10 up 24 days, 8:04, 1 user, load average: 0.55, 0.59, 0.60", "stdout_lines": [" 19:40:10 up 24 days, 8:04, 1 user, load average: 0.55, 0.59, 0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002796", "end": "2025-12-19 19:39:42.258126", "msg": "", "rc": 0, "start": "2025-12-19 19:39:42.255330", "stderr": "", "stderr_lines": [], "stdout": " 19:39:42 up 13 days, 7:29, 0 user, load average: 0.07, 0.10, 0.11", "stdout_lines": [" 19:39:42 up 13 days, 7:29, 0 user, load average: 0.07, 0.10, 0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008402", "end": "2025-12-19 19:40:11.248017", "msg": "", "rc": 0, "start": "2025-12-19 19:40:11.239615", "stderr": "", "stderr_lines": [], "stdout": " 19:40:11 up 196 days, 11:13, 1 user, load average: 0.14, 0.13, 0.10", "stdout_lines": [" 19:40:11 up 196 days, 11:13, 1 user, load average: 0.14, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009481", "end": "2025-12-19 19:40:11.297262", "msg": "", "rc": 0, "start": "2025-12-19 19:40:11.287781", "stderr": "", "stderr_lines": [], "stdout": " 19:40:11 up 196 days, 11:13, 1 user, load average: 0.36, 0.23, 0.19", "stdout_lines": [" 19:40:11 up 196 days, 11:13, 1 user, load average: 0.36, 0.23, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004391", "end": "2025-12-19 19:40:11.566022", "msg": "", "rc": 0, "start": "2025-12-19 19:40:10.561631", "stderr": "", "stderr_lines": [], "stdout": " 19:40:10 up 24 days, 6:31, 1 user, load average: 0.46, 0.38, 0.37", "stdout_lines": [" 19:40:10 up 24 days, 6:31, 1 user, load average: 0.46, 0.38, 0.37"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003621", "end": "2025-12-19 19:39:35.493105", "msg": "", "rc": 0, "start": "2025-12-19 19:39:35.489484", "stderr": "", "stderr_lines": [], "stdout": " 19:39:35 up 20 days, 3:41, 0 user, load average: 0.00, 0.02, 0.01", "stdout_lines": [" 19:39:35 up 20 days, 3:41, 0 user, load average: 0.00, 0.02, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004579", "end": "2025-12-19 19:40:11.755726", "msg": "", "rc": 0, "start": "2025-12-19 19:40:11.751147", "stderr": "", "stderr_lines": [], "stdout": " 19:40:11 up 10:23, 1 user, load average: 0.08, 0.04, 0.00", "stdout_lines": [" 19:40:11 up 10:23, 1 user, load average: 0.08, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003277", "end": "2025-12-19 19:39:38.417936", "msg": "", "rc": 0, "start": "2025-12-19 19:39:38.414659", "stderr": "", "stderr_lines": [], "stdout": " 19:39:38 up 22 days, 22:33, 0 user, load average: 0.32, 0.38, 0.43", "stdout_lines": [" 19:39:38 up 22 days, 22:33, 0 user, load average: 0.32, 0.38, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004289", "end": "2025-12-19 16:40:12.011930", "msg": "", "rc": 0, "start": "2025-12-19 16:40:12.007641", "stderr": "", "stderr_lines": [], "stdout": " 4:40PM up 24 days, 6:29, 1 user, load averages: 0.16, 0.24, 0.24", "stdout_lines": [" 4:40PM up 24 days, 6:29, 1 user, load averages: 0.16, 0.24, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003057", "end": "2025-12-19 19:39:45.850803", "msg": "", "rc": 0, "start": "2025-12-19 19:39:45.847746", "stderr": "", "stderr_lines": [], "stdout": " 19:39:45 up 19 days, 8:55, 0 user, load average: 0.04, 0.22, 0.31", "stdout_lines": [" 19:39:45 up 19 days, 8:55, 0 user, load average: 0.04, 0.22, 0.31"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019308", "end": "2025-12-19 19:40:11.942914", "msg": "", "rc": 0, "start": "2025-12-19 19:40:11.923606", "stderr": "", "stderr_lines": [], "stdout": " 19:40:11 up 17 days, 9:06, 1 user, load average: 0.23, 0.16, 0.13", "stdout_lines": [" 19:40:11 up 17 days, 9:06, 1 user, load average: 0.23, 0.16, 0.13"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003759", "end": "2025-12-19 19:40:12.179625", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.175866", "stderr": "", "stderr_lines": [], "stdout": " 19:40:12 up 10:23, 1 user, load average: 0.00, 0.07, 0.08", "stdout_lines": [" 19:40:12 up 10:23, 1 user, load average: 0.00, 0.07, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008236", "end": "2025-12-19 19:40:12.287958", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.279722", "stderr": "", "stderr_lines": [], "stdout": " 19:40:12 up 6:04, 1 user, load average: 1.14, 1.17, 1.17", "stdout_lines": [" 19:40:12 up 6:04, 1 user, load average: 1.14, 1.17, 1.17"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004329", "end": "2025-12-19 19:40:12.598493", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.594164", "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-19 19:40:12.622296", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.618195", "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.004691", "end": "2025-12-19 19:40:12.641331", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.636640", "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.005013", "end": "2025-12-19 19:40:12.668051", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.663038", "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.005259", "end": "2025-12-19 19:40:12.670554", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.665295", "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.005068", "end": "2025-12-19 19:39:44.318552", "msg": "", "rc": 0, "start": "2025-12-19 19:39:44.313484", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008560", "end": "2025-12-19 19:39:37.129751", "msg": "", "rc": 0, "start": "2025-12-19 19:39:37.121191", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010732", "end": "2025-12-19 19:40:13.330543", "msg": "", "rc": 0, "start": "2025-12-19 19:40:13.319811", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011520", "end": "2025-12-19 19:40:13.369575", "msg": "", "rc": 0, "start": "2025-12-19 19:40:13.358055", "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.005780", "end": "2025-12-19 19:40:13.587114", "msg": "", "rc": 0, "start": "2025-12-19 19:40:13.581334", "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.005122", "end": "2025-12-19 19:39:40.299230", "msg": "", "rc": 0, "start": "2025-12-19 19:39:40.294108", "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.004532", "end": "2025-12-19 19:39:47.652968", "msg": "", "rc": 0, "start": "2025-12-19 19:39:47.648436", "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.005373", "end": "2025-12-19 16:40:13.834058", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.828685", "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.005454", "end": "2025-12-19 19:40:14.027826", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.022372", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.027374", "end": "2025-12-19 19:40:14.348834", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.321460", "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.024948", "end": "2025-12-19 19:40:13.972281", "msg": "", "rc": 0, "start": "2025-12-19 19:40:13.947333", "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.004707", "end": "2025-12-19 19:40:14.506097", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.501390", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004788", "end": "2025-12-19 19:40:14.523577", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.518789", "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.004451", "end": "2025-12-19 19:40:14.526548", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.522097", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004975", "end": "2025-12-19 19:40:14.552582", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.547607", "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.005424", "end": "2025-12-19 19:40:14.572945", "msg": "", "rc": 0, "start": "2025-12-19 19:40:14.567521", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003643", "end": "2025-12-19 19:39:46.207845", "msg": "", "rc": 0, "start": "2025-12-19 19:39:46.204202", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004606", "end": "2025-12-19 19:39:39.008493", "msg": "", "rc": 0, "start": "2025-12-19 19:39:39.003887", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.011015", "end": "2025-12-19 19:40:15.195985", "msg": "", "rc": 0, "start": "2025-12-19 19:40:15.184970", "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.012072", "end": "2025-12-19 19:40:15.229513", "msg": "", "rc": 0, "start": "2025-12-19 19:40:15.217441", "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.005814", "end": "2025-12-19 19:40:15.459493", "msg": "", "rc": 0, "start": "2025-12-19 19:40:15.453679", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.003829", "end": "2025-12-19 19:39:49.506164", "msg": "", "rc": 0, "start": "2025-12-19 19:39:49.502335", "stderr": "", "stderr_lines": [], "stdout": "61.4%", "stdout_lines": ["61.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.005101", "end": "2025-12-19 16:40:15.695752", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:40:15.690651", "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.004071", "end": "2025-12-19 19:39:42.195731", "msg": "", "rc": 0, "start": "2025-12-19 19:39:42.191660", "stderr": "", "stderr_lines": [], "stdout": "25.8%", "stdout_lines": ["25.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.005291", "end": "2025-12-19 19:40:15.882806", "msg": "", "rc": 0, "start": "2025-12-19 19:40:15.877515", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009530", "end": "2025-12-19 19:40:16.444947", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.435417", "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.025236", "end": "2025-12-19 19:40:15.895947", "msg": "", "rc": 0, "start": "2025-12-19 19:40:15.870711", "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.005391", "end": "2025-12-19 19:40:16.414285", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.408894", "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.005517", "end": "2025-12-19 19:40:16.436354", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.430837", "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.004859", "end": "2025-12-19 19:40:16.449553", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.444694", "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.003383", "end": "2025-12-19 19:40:16.468639", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.465256", "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.007184", "end": "2025-12-19 19:40:16.497474", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.490290", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003213", "end": "2025-12-19 19:39:48.178120", "msg": "", "rc": 0, "start": "2025-12-19 19:39:48.174907", "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.003298", "end": "2025-12-19 19:39:40.969911", "msg": "", "rc": 0, "start": "2025-12-19 19:39:40.966613", "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.011837", "end": "2025-12-19 19:40:17.099080", "msg": "", "rc": 0, "start": "2025-12-19 19:40:17.087243", "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.013927", "end": "2025-12-19 19:40:17.188973", "msg": "", "rc": 0, "start": "2025-12-19 19:40:17.175046", "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.003155", "end": "2025-12-19 19:40:17.444962", "msg": "", "rc": 0, "start": "2025-12-19 19:40:17.441807", "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.002694", "end": "2025-12-19 19:39:51.414011", "msg": "", "rc": 0, "start": "2025-12-19 19:39:51.411317", "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.003069", "end": "2025-12-19 19:39:44.161050", "msg": "", "rc": 0, "start": "2025-12-19 19:39:44.157981", "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.003966", "end": "2025-12-19 16:40:17.656288", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.652322", "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.002911", "end": "2025-12-19 19:40:17.868335", "msg": "", "rc": 0, "start": "2025-12-19 19:40:17.865424", "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.004848", "end": "2025-12-19 19:40:18.527166", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.522318", "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.028755", "end": "2025-12-19 19:40:17.802539", "msg": "", "rc": 0, "start": "2025-12-19 19:40:17.773784", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.004235", "end": "2025-12-19 19:40:18.317614", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.313379", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004122", "end": "2025-12-19 19:40:18.339708", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.335586", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004546", "end": "2025-12-19 19:40:18.365476", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.360930", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
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.005397", "end": "2025-12-19 19:40:18.382538", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.377141", "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.005662", "end": "2025-12-19 19:40:18.407937", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.402275", "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.004130", "end": "2025-12-19 19:39:50.042666", "msg": "", "rc": 0, "start": "2025-12-19 19:39:50.038536", "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.005299", "end": "2025-12-19 19:39:42.879136", "msg": "", "rc": 0, "start": "2025-12-19 19:39:42.873837", "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.010340", "end": "2025-12-19 19:40:19.133083", "msg": "", "rc": 0, "start": "2025-12-19 19:40:19.122743", "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.011021", "end": "2025-12-19 19:40:19.133221", "msg": "", "rc": 0, "start": "2025-12-19 19:40:19.122200", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.006088", "end": "2025-12-19 19:40:19.305577", "msg": "", "rc": 0, "start": "2025-12-19 19:40:19.299489", "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.005757", "end": "2025-12-19 19:39:46.079187", "msg": "", "rc": 0, "start": "2025-12-19 19:39:46.073430", "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.006055", "end": "2025-12-19 16:40:19.580157", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.574102", "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.004267", "end": "2025-12-19 19:39:53.441458", "msg": "", "rc": 0, "start": "2025-12-19 19:39:53.437191", "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.005180", "end": "2025-12-19 19:40:19.731600", "msg": "", "rc": 0, "start": "2025-12-19 19:40:19.726420", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024573", "end": "2025-12-19 19:40:19.710799", "msg": "", "rc": 0, "start": "2025-12-19 19:40:19.686226", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.007402", "end": "2025-12-19 19:40:20.691642", "msg": "", "rc": 0, "start": "2025-12-19 19:40:20.684240", "stderr": "", "stderr_lines": [], "stdout": "1.50", "stdout_lines": ["1.50"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:10 up 24 days, 6:31, 1 user, load average: 0.46, 0.38, 0.37\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.42\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:10 up 10:24, 1 user, load average: 0.20, 0.27, 0.20\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.51\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:10 up 24 days, 6:51, 1 user, load average: 0.73, 1.04, 1.00\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.83\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:10 up 24 days, 8:04, 1 user, load average: 0.55, 0.59, 0.60\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.78\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:10 up 24 days, 8:50, 1 user, load average: 0.02, 0.05, 0.01\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: 19:40:11 up 17 days, 9:06, 1 user, load average: 0.23, 0.16, 0.13\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.43\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:11 up 196 days, 11:13, 1 user, load average: 0.36, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.38\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:11 up 196 days, 11:13, 1 user, load average: 0.14, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.19\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:39:42 up 13 days, 7:29, 0 user, load average: 0.07, 0.10, 0.11\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:39:35 up 20 days, 3:41, 0 user, load average: 0.00, 0.02, 0.01\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:11 up 10:23, 1 user, load average: 0.08, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:39:38 up 22 days, 22:33, 0 user, load average: 0.32, 0.38, 0.43\nDisk Usage: 28%\nMemory Usage: 25.8%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:39:45 up 19 days, 8:55, 0 user, load average: 0.04, 0.22, 0.31\nDisk Usage: 76%\nMemory Usage: 61.4%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:40PM up 24 days, 6:29, 1 user, load averages: 0.16, 0.24, 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: 19:40:12 up 10:23, 1 user, load average: 0.00, 0.07, 0.08\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:40:12 up 6:04, 1 user, load average: 1.14, 1.17, 1.17\nDisk Usage: 1%\nMemory Usage: 12.6%\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-20T00:40:21.645733+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `64d32fd1b39746b2a7e1c23dfdf81327` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:45:00.009205+00:00 |
| **Fin** | 2025-12-20T00:45:21.547011+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [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.003443", "end": "2025-12-19 19:45:09.871842", "msg": "", "rc": 0, "start": "2025-12-19 19:45:09.868399", "stderr": "", "stderr_lines": [], "stdout": " 19:45:09 up 24 days, 6:56, 1 user, load average: 1.09, 1.02, 1.00", "stdout_lines": [" 19:45:09 up 24 days, 6:56, 1 user, load average: 1.09, 1.02, 1.00"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003639", "end": "2025-12-19 19:45:09.879488", "msg": "", "rc": 0, "start": "2025-12-19 19:45:09.875849", "stderr": "", "stderr_lines": [], "stdout": " 19:45:09 up 24 days, 8:55, 1 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 19:45:09 up 24 days, 8:55, 1 user, load average: 0.07, 0.04, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003933", "end": "2025-12-19 19:45:09.896708", "msg": "", "rc": 0, "start": "2025-12-19 19:45:09.892775", "stderr": "", "stderr_lines": [], "stdout": " 19:45:09 up 24 days, 8:09, 1 user, load average: 0.61, 0.61, 0.61", "stdout_lines": [" 19:45:09 up 24 days, 8:09, 1 user, load average: 0.61, 0.61, 0.61"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002893", "end": "2025-12-19 19:45:09.902910", "msg": "", "rc": 0, "start": "2025-12-19 19:45:09.900017", "stderr": "", "stderr_lines": [], "stdout": " 19:45:09 up 10:29, 1 user, load average: 0.10, 0.31, 0.25", "stdout_lines": [" 19:45:09 up 10:29, 1 user, load average: 0.10, 0.31, 0.25"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002961", "end": "2025-12-19 19:44:41.581831", "msg": "", "rc": 0, "start": "2025-12-19 19:44:41.578870", "stderr": "", "stderr_lines": [], "stdout": " 19:44:41 up 13 days, 7:34, 0 user, load average: 0.00, 0.03, 0.07", "stdout_lines": [" 19:44:41 up 13 days, 7:34, 0 user, load average: 0.00, 0.03, 0.07"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008436", "end": "2025-12-19 19:45:10.560148", "msg": "", "rc": 0, "start": "2025-12-19 19:45:10.551712", "stderr": "", "stderr_lines": [], "stdout": " 19:45:10 up 196 days, 11:18, 1 user, load average: 0.21, 0.21, 0.14", "stdout_lines": [" 19:45:10 up 196 days, 11:18, 1 user, load average: 0.21, 0.21, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009197", "end": "2025-12-19 19:45:10.593702", "msg": "", "rc": 0, "start": "2025-12-19 19:45:10.584505", "stderr": "", "stderr_lines": [], "stdout": " 19:45:10 up 196 days, 11:18, 1 user, load average: 0.16, 0.17, 0.17", "stdout_lines": [" 19:45:10 up 196 days, 11:18, 1 user, load average: 0.16, 0.17, 0.17"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004453", "end": "2025-12-19 19:45:10.870701", "msg": "", "rc": 0, "start": "2025-12-19 19:45:09.866248", "stderr": "", "stderr_lines": [], "stdout": " 19:45:09 up 24 days, 6:36, 1 user, load average: 0.35, 0.34, 0.35", "stdout_lines": [" 19:45:09 up 24 days, 6:36, 1 user, load average: 0.35, 0.34, 0.35"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003624", "end": "2025-12-19 19:44:34.821629", "msg": "", "rc": 0, "start": "2025-12-19 19:44:34.818005", "stderr": "", "stderr_lines": [], "stdout": " 19:44:34 up 20 days, 3:46, 0 user, load average: 0.15, 0.03, 0.01", "stdout_lines": [" 19:44:34 up 20 days, 3:46, 0 user, load average: 0.15, 0.03, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004509", "end": "2025-12-19 19:45:11.068510", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.064001", "stderr": "", "stderr_lines": [], "stdout": " 19:45:11 up 10:28, 1 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 19:45:11 up 10:28, 1 user, load average: 0.08, 0.03, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003165", "end": "2025-12-19 19:44:37.721550", "msg": "", "rc": 0, "start": "2025-12-19 19:44:37.718385", "stderr": "", "stderr_lines": [], "stdout": " 19:44:37 up 22 days, 22:38, 0 user, load average: 0.32, 0.33, 0.39", "stdout_lines": [" 19:44:37 up 22 days, 22:38, 0 user, load average: 0.32, 0.33, 0.39"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007643", "end": "2025-12-19 19:44:45.128706", "msg": "", "rc": 0, "start": "2025-12-19 19:44:45.121063", "stderr": "", "stderr_lines": [], "stdout": " 19:44:45 up 19 days, 9:00, 0 user, load average: 0.18, 0.22, 0.28", "stdout_lines": [" 19:44:45 up 19 days, 9:00, 0 user, load average: 0.18, 0.22, 0.28"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004581", "end": "2025-12-19 16:45:11.337396", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.332815", "stderr": "", "stderr_lines": [], "stdout": " 4:45PM up 24 days, 6:34, 1 user, load averages: 0.20, 0.21, 0.22", "stdout_lines": [" 4:45PM up 24 days, 6:34, 1 user, load averages: 0.20, 0.21, 0.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019475", "end": "2025-12-19 19:45:11.250208", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.230733", "stderr": "", "stderr_lines": [], "stdout": " 19:45:11 up 17 days, 9:11, 1 user, load average: 0.19, 0.15, 0.13", "stdout_lines": [" 19:45:11 up 17 days, 9:11, 1 user, load average: 0.19, 0.15, 0.13"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008807", "end": "2025-12-19 19:45:12.184188", "msg": "", "rc": 0, "start": "2025-12-19 19:45:12.175381", "stderr": "", "stderr_lines": [], "stdout": " 19:45:12 up 6:10, 1 user, load average: 1.14, 1.16, 1.17", "stdout_lines": [" 19:45:12 up 6:10, 1 user, load average: 1.14, 1.16, 1.17"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003788", "end": "2025-12-19 19:45:11.494105", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.490317", "stderr": "", "stderr_lines": [], "stdout": " 19:45:11 up 10:28, 1 user, load average: 0.27, 0.26, 0.16", "stdout_lines": [" 19:45:11 up 10:28, 1 user, load average: 0.27, 0.26, 0.16"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004241", "end": "2025-12-19 19:45:11.946696", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.942455", "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.004088", "end": "2025-12-19 19:45:11.952378", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.948290", "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.004991", "end": "2025-12-19 19:45:11.964890", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.959899", "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.005173", "end": "2025-12-19 19:45:12.002007", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.996834", "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.005542", "end": "2025-12-19 19:45:11.997971", "msg": "", "rc": 0, "start": "2025-12-19 19:45:11.992429", "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.005104", "end": "2025-12-19 19:44:43.648534", "msg": "", "rc": 0, "start": "2025-12-19 19:44:43.643430", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005456", "end": "2025-12-19 19:44:36.455620", "msg": "", "rc": 0, "start": "2025-12-19 19:44:36.450164", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010570", "end": "2025-12-19 19:45:12.690874", "msg": "", "rc": 0, "start": "2025-12-19 19:45:12.680304", "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.011604", "end": "2025-12-19 19:45:12.738108", "msg": "", "rc": 0, "start": "2025-12-19 19:45:12.726504", "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.005658", "end": "2025-12-19 19:45:12.900845", "msg": "", "rc": 0, "start": "2025-12-19 19:45:12.895187", "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.005571", "end": "2025-12-19 19:44:39.615284", "msg": "", "rc": 0, "start": "2025-12-19 19:44:39.609713", "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.005345", "end": "2025-12-19 16:45:13.190429", "msg": "", "rc": 0, "start": "2025-12-19 16:45:13.185084", "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.008615", "end": "2025-12-19 19:44:47.013934", "msg": "", "rc": 0, "start": "2025-12-19 19:44:47.005319", "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.005318", "end": "2025-12-19 19:45:13.319882", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.314564", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023316", "end": "2025-12-19 19:45:14.261233", "msg": "", "rc": 0, "start": "2025-12-19 19:45:14.237917", "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.025281", "end": "2025-12-19 19:45:13.337788", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.312507", "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.004280", "end": "2025-12-19 19:45:13.845701", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.841421", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004312", "end": "2025-12-19 19:45:13.872421", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.868109", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004534", "end": "2025-12-19 19:45:13.886102", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.881568", "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.005071", "end": "2025-12-19 19:45:13.908838", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.903767", "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.005641", "end": "2025-12-19 19:45:13.925284", "msg": "", "rc": 0, "start": "2025-12-19 19:45:13.919643", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003859", "end": "2025-12-19 19:44:45.557625", "msg": "", "rc": 0, "start": "2025-12-19 19:44:45.553766", "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.004164", "end": "2025-12-19 19:44:38.354069", "msg": "", "rc": 0, "start": "2025-12-19 19:44:38.349905", "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.011000", "end": "2025-12-19 19:45:14.541750", "msg": "", "rc": 0, "start": "2025-12-19 19:45:14.530750", "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.011857", "end": "2025-12-19 19:45:14.574972", "msg": "", "rc": 0, "start": "2025-12-19 19:45:14.563115", "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.005827", "end": "2025-12-19 19:45:14.831323", "msg": "", "rc": 0, "start": "2025-12-19 19:45:14.825496", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004145", "end": "2025-12-19 19:44:41.552185", "msg": "", "rc": 0, "start": "2025-12-19 19:44:41.548040", "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.005259", "end": "2025-12-19 16:45:15.029302", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:45:15.024043", "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.010682", "end": "2025-12-19 19:44:48.873527", "msg": "", "rc": 0, "start": "2025-12-19 19:44:48.862845", "stderr": "", "stderr_lines": [], "stdout": "56.4%", "stdout_lines": ["56.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-19 19:45:15.250791", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.245466", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.009546", "end": "2025-12-19 19:45:16.410499", "msg": "", "rc": 0, "start": "2025-12-19 19:45:16.400953", "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.026114", "end": "2025-12-19 19:45:15.246906", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.220792", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005391", "end": "2025-12-19 19:45:15.764831", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.759440", "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.004727", "end": "2025-12-19 19:45:15.799827", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.795100", "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.005977", "end": "2025-12-19 19:45:15.799869", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.793892", "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.003515", "end": "2025-12-19 19:45:15.823422", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.819907", "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.006440", "end": "2025-12-19 19:45:15.826047", "msg": "", "rc": 0, "start": "2025-12-19 19:45:15.819607", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002967", "end": "2025-12-19 19:44:47.482869", "msg": "", "rc": 0, "start": "2025-12-19 19:44:47.479902", "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.002856", "end": "2025-12-19 19:44:40.262081", "msg": "", "rc": 0, "start": "2025-12-19 19:44:40.259225", "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.011619", "end": "2025-12-19 19:45:16.472621", "msg": "", "rc": 0, "start": "2025-12-19 19:45:16.461002", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012728", "end": "2025-12-19 19:45:16.500667", "msg": "", "rc": 0, "start": "2025-12-19 19:45:16.487939", "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.003982", "end": "2025-12-19 19:45:16.748102", "msg": "", "rc": 0, "start": "2025-12-19 19:45:16.744120", "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-19 19:44:43.424328", "msg": "", "rc": 0, "start": "2025-12-19 19:44:43.421294", "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.003910", "end": "2025-12-19 16:45:16.952674", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.948764", "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.002446", "end": "2025-12-19 19:44:50.768894", "msg": "", "rc": 0, "start": "2025-12-19 19:44:50.766448", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002887", "end": "2025-12-19 19:45:17.182721", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.179834", "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.028993", "end": "2025-12-19 19:45:17.141430", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.112437", "stderr": "", "stderr_lines": [], "stdout": "36.3°C", "stdout_lines": ["36.3°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.005110", "end": "2025-12-19 19:45:18.556483", "msg": "", "rc": 0, "start": "2025-12-19 19:45:18.551373", "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.004120", "end": "2025-12-19 19:45:17.680158", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.676038", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.004001", "end": "2025-12-19 19:45:17.696877", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.692876", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.005137", "end": "2025-12-19 19:45:17.709976", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.704839", "stderr": "", "stderr_lines": [], "stdout": "1.08", "stdout_lines": ["1.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005013", "end": "2025-12-19 19:45:17.731884", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.726871", "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.005722", "end": "2025-12-19 19:45:17.754341", "msg": "", "rc": 0, "start": "2025-12-19 19:45:17.748619", "stderr": "", "stderr_lines": [], "stdout": "0.75", "stdout_lines": ["0.75"]}
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.004479", "end": "2025-12-19 19:44:49.402327", "msg": "", "rc": 0, "start": "2025-12-19 19:44:49.397848", "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.005697", "end": "2025-12-19 19:44:42.214735", "msg": "", "rc": 0, "start": "2025-12-19 19:44:42.209038", "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.010000", "end": "2025-12-19 19:45:18.474567", "msg": "", "rc": 0, "start": "2025-12-19 19:45:18.464567", "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.011121", "end": "2025-12-19 19:45:18.474952", "msg": "", "rc": 0, "start": "2025-12-19 19:45:18.463831", "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.005798", "end": "2025-12-19 19:45:18.671480", "msg": "", "rc": 0, "start": "2025-12-19 19:45:18.665682", "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.005755", "end": "2025-12-19 19:44:45.409225", "msg": "", "rc": 0, "start": "2025-12-19 19:44:45.403470", "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.006032", "end": "2025-12-19 16:45:18.932310", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.926278", "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.004218", "end": "2025-12-19 19:44:52.796279", "msg": "", "rc": 0, "start": "2025-12-19 19:44:52.792061", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.005537", "end": "2025-12-19 19:45:19.108033", "msg": "", "rc": 0, "start": "2025-12-19 19:45:19.102496", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024333", "end": "2025-12-19 19:45:19.047874", "msg": "", "rc": 0, "start": "2025-12-19 19:45:19.023541", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009145", "end": "2025-12-19 19:45:20.655857", "msg": "", "rc": 0, "start": "2025-12-19 19:45:20.646712", "stderr": "", "stderr_lines": [], "stdout": "1.50", "stdout_lines": ["1.50"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:09 up 24 days, 6:36, 1 user, load average: 0.35, 0.34, 0.35\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.45\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:09 up 10:29, 1 user, load average: 0.10, 0.31, 0.25\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.09\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:09 up 24 days, 6:56, 1 user, load average: 1.09, 1.02, 1.00\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.08\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:09 up 24 days, 8:09, 1 user, load average: 0.61, 0.61, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.75\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:09 up 24 days, 8:55, 1 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:11 up 17 days, 9:11, 1 user, load average: 0.19, 0.15, 0.13\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.24\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:10 up 196 days, 11:18, 1 user, load average: 0.16, 0.17, 0.17\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.22\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:10 up 196 days, 11:18, 1 user, load average: 0.21, 0.21, 0.14\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.27\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:44:41 up 13 days, 7:34, 0 user, load average: 0.00, 0.03, 0.07\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:44:34 up 20 days, 3:46, 0 user, load average: 0.15, 0.03, 0.01\nDisk Usage: 25%\nMemory Usage: 65.2%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:11 up 10:28, 1 user, load average: 0.08, 0.03, 0.01\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:44:45 up 19 days, 9:00, 0 user, load average: 0.18, 0.22, 0.28\nDisk Usage: 76%\nMemory Usage: 56.4%\nCPU Load: 0.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:44:37 up 22 days, 22:38, 0 user, load average: 0.32, 0.33, 0.39\nDisk Usage: 28%\nMemory Usage: 27.8%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:45PM up 24 days, 6:34, 1 user, load averages: 0.20, 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: 19:45:11 up 10:28, 1 user, load average: 0.27, 0.26, 0.16\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:45:12 up 6:10, 1 user, load average: 1.14, 1.16, 1.17\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-20T00:45:21.613009+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7bc0be2e715c46e1aa0a01d31efe7f82` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:50:00.002483+00:00 |
| **Fin** | 2025-12-20T00:50:21.321705+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [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: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003736", "end": "2025-12-19 19:50:09.008577", "msg": "", "rc": 0, "start": "2025-12-19 19:50:09.004841", "stderr": "", "stderr_lines": [], "stdout": " 19:50:09 up 24 days, 9:00, 1 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 19:50:09 up 24 days, 9:00, 1 user, load average: 0.03, 0.03, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003525", "end": "2025-12-19 19:50:09.004666", "msg": "", "rc": 0, "start": "2025-12-19 19:50:09.001141", "stderr": "", "stderr_lines": [], "stdout": " 19:50:09 up 24 days, 7:01, 1 user, load average: 0.71, 0.81, 0.91", "stdout_lines": [" 19:50:09 up 24 days, 7:01, 1 user, load average: 0.71, 0.81, 0.91"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002987", "end": "2025-12-19 19:50:09.034297", "msg": "", "rc": 0, "start": "2025-12-19 19:50:09.031310", "stderr": "", "stderr_lines": [], "stdout": " 19:50:09 up 10:34, 1 user, load average: 0.49, 0.28, 0.24", "stdout_lines": [" 19:50:09 up 10:34, 1 user, load average: 0.49, 0.28, 0.24"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004291", "end": "2025-12-19 19:50:09.025991", "msg": "", "rc": 0, "start": "2025-12-19 19:50:09.021700", "stderr": "", "stderr_lines": [], "stdout": " 19:50:09 up 24 days, 8:14, 1 user, load average: 0.37, 0.52, 0.58", "stdout_lines": [" 19:50:09 up 24 days, 8:14, 1 user, load average: 0.37, 0.52, 0.58"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003573", "end": "2025-12-19 19:49:40.700101", "msg": "", "rc": 0, "start": "2025-12-19 19:49:40.696528", "stderr": "", "stderr_lines": [], "stdout": " 19:49:40 up 13 days, 7:39, 0 user, load average: 0.14, 0.14, 0.10", "stdout_lines": [" 19:49:40 up 13 days, 7:39, 0 user, load average: 0.14, 0.14, 0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008136", "end": "2025-12-19 19:50:09.680152", "msg": "", "rc": 0, "start": "2025-12-19 19:50:09.672016", "stderr": "", "stderr_lines": [], "stdout": " 19:50:09 up 196 days, 11:23, 1 user, load average: 0.28, 0.18, 0.14", "stdout_lines": [" 19:50:09 up 196 days, 11:23, 1 user, load average: 0.28, 0.18, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009226", "end": "2025-12-19 19:50:09.738244", "msg": "", "rc": 0, "start": "2025-12-19 19:50:09.729018", "stderr": "", "stderr_lines": [], "stdout": " 19:50:09 up 196 days, 11:23, 1 user, load average: 0.09, 0.13, 0.16", "stdout_lines": [" 19:50:09 up 196 days, 11:23, 1 user, load average: 0.09, 0.13, 0.16"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003768", "end": "2025-12-19 19:50:09.996020", "msg": "", "rc": 0, "start": "2025-12-19 19:50:08.992252", "stderr": "", "stderr_lines": [], "stdout": " 19:50:08 up 24 days, 6:41, 1 user, load average: 0.24, 0.28, 0.33", "stdout_lines": [" 19:50:08 up 24 days, 6:41, 1 user, load average: 0.24, 0.28, 0.33"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003480", "end": "2025-12-19 19:49:33.936509", "msg": "", "rc": 0, "start": "2025-12-19 19:49:33.933029", "stderr": "", "stderr_lines": [], "stdout": " 19:49:33 up 20 days, 3:51, 0 user, load average: 0.10, 0.04, 0.01", "stdout_lines": [" 19:49:33 up 20 days, 3:51, 0 user, load average: 0.10, 0.04, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004543", "end": "2025-12-19 19:50:10.184355", "msg": "", "rc": 0, "start": "2025-12-19 19:50:10.179812", "stderr": "", "stderr_lines": [], "stdout": " 19:50:10 up 10:33, 1 user, load average: 0.31, 0.17, 0.06", "stdout_lines": [" 19:50:10 up 10:33, 1 user, load average: 0.31, 0.17, 0.06"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003054", "end": "2025-12-19 19:49:36.852326", "msg": "", "rc": 0, "start": "2025-12-19 19:49:36.849272", "stderr": "", "stderr_lines": [], "stdout": " 19:49:36 up 22 days, 22:43, 0 user, load average: 0.76, 0.48, 0.42", "stdout_lines": [" 19:49:36 up 22 days, 22:43, 0 user, load average: 0.76, 0.48, 0.42"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004230", "end": "2025-12-19 16:50:10.449851", "msg": "", "rc": 0, "start": "2025-12-19 16:50:10.445621", "stderr": "", "stderr_lines": [], "stdout": " 4:50PM up 24 days, 6:39, 1 user, load averages: 0.10, 0.17, 0.20", "stdout_lines": [" 4:50PM up 24 days, 6:39, 1 user, load averages: 0.10, 0.17, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002712", "end": "2025-12-19 19:49:44.262259", "msg": "", "rc": 0, "start": "2025-12-19 19:49:44.259547", "stderr": "", "stderr_lines": [], "stdout": " 19:49:44 up 19 days, 9:05, 0 user, load average: 0.78, 0.46, 0.35", "stdout_lines": [" 19:49:44 up 19 days, 9:05, 0 user, load average: 0.78, 0.46, 0.35"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019683", "end": "2025-12-19 19:50:10.387388", "msg": "", "rc": 0, "start": "2025-12-19 19:50:10.367705", "stderr": "", "stderr_lines": [], "stdout": " 19:50:10 up 17 days, 9:16, 1 user, load average: 0.15, 0.13, 0.12", "stdout_lines": [" 19:50:10 up 17 days, 9:16, 1 user, load average: 0.15, 0.13, 0.12"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003815", "end": "2025-12-19 19:50:10.600539", "msg": "", "rc": 0, "start": "2025-12-19 19:50:10.596724", "stderr": "", "stderr_lines": [], "stdout": " 19:50:10 up 10:33, 1 user, load average: 0.00, 0.11, 0.11", "stdout_lines": [" 19:50:10 up 10:33, 1 user, load average: 0.00, 0.11, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008727", "end": "2025-12-19 19:50:11.855418", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.846691", "stderr": "", "stderr_lines": [], "stdout": " 19:50:11 up 6:15, 1 user, load average: 1.29, 1.19, 1.18", "stdout_lines": [" 19:50:11 up 6:15, 1 user, load average: 1.29, 1.19, 1.18"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004303", "end": "2025-12-19 19:50:11.034328", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.030025", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004196", "end": "2025-12-19 19:50:11.033768", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.029572", "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.005158", "end": "2025-12-19 19:50:11.074653", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.069495", "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.004970", "end": "2025-12-19 19:50:11.085569", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.080599", "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.005604", "end": "2025-12-19 19:50:11.093328", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.087724", "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.005311", "end": "2025-12-19 19:49:42.795161", "msg": "", "rc": 0, "start": "2025-12-19 19:49:42.789850", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005389", "end": "2025-12-19 19:49:35.524539", "msg": "", "rc": 0, "start": "2025-12-19 19:49:35.519150", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010570", "end": "2025-12-19 19:50:11.779226", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.768656", "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.011458", "end": "2025-12-19 19:50:11.803551", "msg": "", "rc": 0, "start": "2025-12-19 19:50:11.792093", "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.006165", "end": "2025-12-19 19:50:12.077037", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.070872", "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.005249", "end": "2025-12-19 19:49:38.687299", "msg": "", "rc": 0, "start": "2025-12-19 19:49:38.682050", "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.005474", "end": "2025-12-19 16:50:12.270287", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.264813", "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.005033", "end": "2025-12-19 19:49:46.118103", "msg": "", "rc": 0, "start": "2025-12-19 19:49:46.113070", "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.005343", "end": "2025-12-19 19:50:12.503777", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.498434", "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.026115", "end": "2025-12-19 19:50:12.415596", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.389481", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022102", "end": "2025-12-19 19:50:13.966294", "msg": "", "rc": 0, "start": "2025-12-19 19:50:13.944192", "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.004322", "end": "2025-12-19 19:50:12.919132", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.914810", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004261", "end": "2025-12-19 19:50:12.947744", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.943483", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.005255", "end": "2025-12-19 19:50:12.982015", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.976760", "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.004624", "end": "2025-12-19 19:50:12.986093", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.981469", "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.005764", "end": "2025-12-19 19:50:12.996927", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.991163", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004162", "end": "2025-12-19 19:49:44.629832", "msg": "", "rc": 0, "start": "2025-12-19 19:49:44.625670", "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.004179", "end": "2025-12-19 19:49:37.422262", "msg": "", "rc": 0, "start": "2025-12-19 19:49:37.418083", "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.010935", "end": "2025-12-19 19:50:13.630252", "msg": "", "rc": 0, "start": "2025-12-19 19:50:13.619317", "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.011868", "end": "2025-12-19 19:50:13.655223", "msg": "", "rc": 0, "start": "2025-12-19 19:50:13.643355", "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.005639", "end": "2025-12-19 19:50:13.899656", "msg": "", "rc": 0, "start": "2025-12-19 19:50:13.894017", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.004146", "end": "2025-12-19 19:49:40.598298", "msg": "", "rc": 0, "start": "2025-12-19 19:49:40.594152", "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.005293", "end": "2025-12-19 16:50:14.122916", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:50:14.117623", "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.007905", "end": "2025-12-19 19:49:47.959774", "msg": "", "rc": 0, "start": "2025-12-19 19:49:47.951869", "stderr": "", "stderr_lines": [], "stdout": "56.1%", "stdout_lines": ["56.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.005350", "end": "2025-12-19 19:50:14.314194", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.308844", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.008361", "end": "2025-12-19 19:50:15.976876", "msg": "", "rc": 0, "start": "2025-12-19 19:50:15.968515", "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.025700", "end": "2025-12-19 19:50:14.294130", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.268430", "stderr": "", "stderr_lines": [], "stdout": "21.5%", "stdout_lines": ["21.5%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005277", "end": "2025-12-19 19:50:14.801212", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.795935", "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-19 19:50:14.822011", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.817155", "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.006595", "end": "2025-12-19 19:50:14.835844", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.829249", "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.003358", "end": "2025-12-19 19:50:14.846197", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.842839", "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.006619", "end": "2025-12-19 19:50:14.857128", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.850509", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003688", "end": "2025-12-19 19:49:46.514831", "msg": "", "rc": 0, "start": "2025-12-19 19:49:46.511143", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003146", "end": "2025-12-19 19:49:39.285930", "msg": "", "rc": 0, "start": "2025-12-19 19:49:39.282784", "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.011833", "end": "2025-12-19 19:50:15.486623", "msg": "", "rc": 0, "start": "2025-12-19 19:50:15.474790", "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.012941", "end": "2025-12-19 19:50:15.533180", "msg": "", "rc": 0, "start": "2025-12-19 19:50:15.520239", "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.003153", "end": "2025-12-19 19:50:15.791247", "msg": "", "rc": 0, "start": "2025-12-19 19:50:15.788094", "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.002831", "end": "2025-12-19 19:49:42.463068", "msg": "", "rc": 0, "start": "2025-12-19 19:49:42.460237", "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.003925", "end": "2025-12-19 16:50:15.975656", "msg": "", "rc": 0, "start": "2025-12-19 16:50:15.971731", "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-19 19:49:49.809538", "msg": "", "rc": 0, "start": "2025-12-19 19:49:49.806765", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002909", "end": "2025-12-19 19:50:16.218998", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.216089", "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.004692", "end": "2025-12-19 19:50:18.036228", "msg": "", "rc": 0, "start": "2025-12-19 19:50:18.031536", "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.028175", "end": "2025-12-19 19:50:16.196034", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.167859", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004168", "end": "2025-12-19 19:50:16.709936", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.705768", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004009", "end": "2025-12-19 19:50:16.726605", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.722596", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004849", "end": "2025-12-19 19:50:16.751725", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.746876", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
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.005368", "end": "2025-12-19 19:50:16.771117", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.765749", "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.005710", "end": "2025-12-19 19:50:16.789972", "msg": "", "rc": 0, "start": "2025-12-19 19:50:16.784262", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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.004640", "end": "2025-12-19 19:49:48.432550", "msg": "", "rc": 0, "start": "2025-12-19 19:49:48.427910", "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.005112", "end": "2025-12-19 19:49:41.217115", "msg": "", "rc": 0, "start": "2025-12-19 19:49:41.212003", "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.010153", "end": "2025-12-19 19:50:17.509870", "msg": "", "rc": 0, "start": "2025-12-19 19:50:17.499717", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011164", "end": "2025-12-19 19:50:17.532388", "msg": "", "rc": 0, "start": "2025-12-19 19:50:17.521224", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005671", "end": "2025-12-19 19:50:17.732360", "msg": "", "rc": 0, "start": "2025-12-19 19:50:17.726689", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.004660", "end": "2025-12-19 19:49:44.420436", "msg": "", "rc": 0, "start": "2025-12-19 19:49:44.415776", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.005913", "end": "2025-12-19 16:50:17.992404", "msg": "", "rc": 0, "start": "2025-12-19 16:50:17.986491", "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.004579", "end": "2025-12-19 19:49:51.824564", "msg": "", "rc": 0, "start": "2025-12-19 19:49:51.819985", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
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.005392", "end": "2025-12-19 19:50:18.171325", "msg": "", "rc": 0, "start": "2025-12-19 19:50:18.165933", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024267", "end": "2025-12-19 19:50:18.115376", "msg": "", "rc": 0, "start": "2025-12-19 19:50:18.091109", "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.009593", "end": "2025-12-19 19:50:20.279756", "msg": "", "rc": 0, "start": "2025-12-19 19:50:20.270163", "stderr": "", "stderr_lines": [], "stdout": "1.58", "stdout_lines": ["1.58"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:09 up 10:34, 1 user, load average: 0.49, 0.28, 0.24\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.50\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:08 up 24 days, 6:41, 1 user, load average: 0.24, 0.28, 0.33\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.44\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:09 up 24 days, 7:01, 1 user, load average: 0.71, 0.81, 0.91\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.66\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:09 up 24 days, 8:14, 1 user, load average: 0.37, 0.52, 0.58\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.34\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:09 up 24 days, 9:00, 1 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:10 up 17 days, 9:16, 1 user, load average: 0.15, 0.13, 0.12\nDisk Usage: 21%\nMemory Usage: 21.5%\nCPU Load: 0.22\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:09 up 196 days, 11:23, 1 user, load average: 0.09, 0.13, 0.16\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.08\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:09 up 196 days, 11:23, 1 user, load average: 0.28, 0.18, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.26\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:49:40 up 13 days, 7:39, 0 user, load average: 0.14, 0.14, 0.10\nDisk Usage: 50%\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: 19:49:33 up 20 days, 3:51, 0 user, load average: 0.10, 0.04, 0.01\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:10 up 10:33, 1 user, load average: 0.31, 0.17, 0.06\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:49:36 up 22 days, 22:43, 0 user, load average: 0.76, 0.48, 0.42\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.65\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:49:44 up 19 days, 9:05, 0 user, load average: 0.78, 0.46, 0.35\nDisk Usage: 76%\nMemory Usage: 56.1%\nCPU Load: 0.72\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:50PM up 24 days, 6:39, 1 user, load averages: 0.10, 0.17, 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: 19:50:10 up 10:33, 1 user, load average: 0.00, 0.11, 0.11\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:50:11 up 6:15, 1 user, load average: 1.29, 1.19, 1.18\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.58\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T00:50:21.378644+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6b783413e6e543d8bdc0f46d24719357` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T00:55:00.005216+00:00 |
| **Fin** | 2025-12-20T00:55:21.929794+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: [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: [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.003406", "end": "2025-12-19 19:55:11.832080", "msg": "", "rc": 0, "start": "2025-12-19 19:55:11.828674", "stderr": "", "stderr_lines": [], "stdout": " 19:55:11 up 24 days, 6:46, 1 user, load average: 0.31, 0.26, 0.30", "stdout_lines": [" 19:55:11 up 24 days, 6:46, 1 user, load average: 0.31, 0.26, 0.30"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004047", "end": "2025-12-19 19:55:11.846546", "msg": "", "rc": 0, "start": "2025-12-19 19:55:11.842499", "stderr": "", "stderr_lines": [], "stdout": " 19:55:11 up 24 days, 9:05, 1 user, load average: 0.11, 0.07, 0.01", "stdout_lines": [" 19:55:11 up 24 days, 9:05, 1 user, load average: 0.11, 0.07, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003153", "end": "2025-12-19 19:55:11.838372", "msg": "", "rc": 0, "start": "2025-12-19 19:55:11.835219", "stderr": "", "stderr_lines": [], "stdout": " 19:55:11 up 24 days, 7:06, 1 user, load average: 0.82, 0.92, 0.94", "stdout_lines": [" 19:55:11 up 24 days, 7:06, 1 user, load average: 0.82, 0.92, 0.94"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002816", "end": "2025-12-19 19:55:11.872203", "msg": "", "rc": 0, "start": "2025-12-19 19:55:11.869387", "stderr": "", "stderr_lines": [], "stdout": " 19:55:11 up 10:39, 1 user, load average: 0.58, 0.30, 0.25", "stdout_lines": [" 19:55:11 up 10:39, 1 user, load average: 0.58, 0.30, 0.25"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003926", "end": "2025-12-19 19:55:11.864904", "msg": "", "rc": 0, "start": "2025-12-19 19:55:11.860978", "stderr": "", "stderr_lines": [], "stdout": " 19:55:11 up 24 days, 8:19, 1 user, load average: 0.49, 0.51, 0.55", "stdout_lines": [" 19:55:11 up 24 days, 8:19, 1 user, load average: 0.49, 0.51, 0.55"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002883", "end": "2025-12-19 19:54:43.511545", "msg": "", "rc": 0, "start": "2025-12-19 19:54:43.508662", "stderr": "", "stderr_lines": [], "stdout": " 19:54:43 up 13 days, 7:44, 0 user, load average: 0.34, 0.17, 0.11", "stdout_lines": [" 19:54:43 up 13 days, 7:44, 0 user, load average: 0.34, 0.17, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003514", "end": "2025-12-19 19:54:36.302936", "msg": "", "rc": 0, "start": "2025-12-19 19:54:36.299422", "stderr": "", "stderr_lines": [], "stdout": " 19:54:36 up 20 days, 3:56, 0 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 19:54:36 up 20 days, 3:56, 0 user, load average: 0.00, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008428", "end": "2025-12-19 19:55:12.519927", "msg": "", "rc": 0, "start": "2025-12-19 19:55:12.511499", "stderr": "", "stderr_lines": [], "stdout": " 19:55:12 up 196 days, 11:28, 1 user, load average: 0.27, 0.16, 0.12", "stdout_lines": [" 19:55:12 up 196 days, 11:28, 1 user, load average: 0.27, 0.16, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009366", "end": "2025-12-19 19:55:12.555940", "msg": "", "rc": 0, "start": "2025-12-19 19:55:12.546574", "stderr": "", "stderr_lines": [], "stdout": " 19:55:12 up 196 days, 11:28, 1 user, load average: 0.36, 0.19, 0.18", "stdout_lines": [" 19:55:12 up 196 days, 11:28, 1 user, load average: 0.36, 0.19, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004490", "end": "2025-12-19 19:55:12.772310", "msg": "", "rc": 0, "start": "2025-12-19 19:55:12.767820", "stderr": "", "stderr_lines": [], "stdout": " 19:55:12 up 10:38, 1 user, load average: 0.08, 0.09, 0.04", "stdout_lines": [" 19:55:12 up 10:38, 1 user, load average: 0.08, 0.09, 0.04"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003049", "end": "2025-12-19 19:54:39.479547", "msg": "", "rc": 0, "start": "2025-12-19 19:54:39.476498", "stderr": "", "stderr_lines": [], "stdout": " 19:54:39 up 22 days, 22:48, 0 user, load average: 0.56, 0.60, 0.49", "stdout_lines": [" 19:54:39 up 22 days, 22:48, 0 user, load average: 0.56, 0.60, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002930", "end": "2025-12-19 19:54:46.814120", "msg": "", "rc": 0, "start": "2025-12-19 19:54:46.811190", "stderr": "", "stderr_lines": [], "stdout": " 19:54:46 up 19 days, 9:10, 0 user, load average: 0.72, 0.57, 0.41", "stdout_lines": [" 19:54:46 up 19 days, 9:10, 0 user, load average: 0.72, 0.57, 0.41"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004243", "end": "2025-12-19 16:55:13.013592", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.009349", "stderr": "", "stderr_lines": [], "stdout": " 4:55PM up 24 days, 6:45, 1 user, load averages: 0.15, 0.20, 0.20", "stdout_lines": [" 4:55PM up 24 days, 6:45, 1 user, load averages: 0.15, 0.20, 0.20"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003689", "end": "2025-12-19 19:55:13.193890", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.190201", "stderr": "", "stderr_lines": [], "stdout": " 19:55:13 up 10:38, 1 user, load average: 0.00, 0.03, 0.07", "stdout_lines": [" 19:55:13 up 10:38, 1 user, load average: 0.00, 0.03, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009279", "end": "2025-12-19 19:55:15.386435", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.377156", "stderr": "", "stderr_lines": [], "stdout": " 19:55:15 up 6:21, 1 user, load average: 1.31, 1.18, 1.17", "stdout_lines": [" 19:55:15 up 6:21, 1 user, load average: 1.31, 1.18, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019555", "end": "2025-12-19 19:55:13.217358", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.197803", "stderr": "", "stderr_lines": [], "stdout": " 19:55:13 up 17 days, 9:21, 1 user, load average: 0.31, 0.20, 0.14", "stdout_lines": [" 19:55:13 up 17 days, 9:21, 1 user, load average: 0.31, 0.20, 0.14"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004222", "end": "2025-12-19 19:55:13.737863", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.733641", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004085", "end": "2025-12-19 19:55:13.753565", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.749480", "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.004830", "end": "2025-12-19 19:55:13.763873", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.759043", "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.004907", "end": "2025-12-19 19:55:13.789203", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.784296", "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.005760", "end": "2025-12-19 19:55:13.802672", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.796912", "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.004891", "end": "2025-12-19 19:54:45.430599", "msg": "", "rc": 0, "start": "2025-12-19 19:54:45.425708", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005570", "end": "2025-12-19 19:54:38.219361", "msg": "", "rc": 0, "start": "2025-12-19 19:54:38.213791", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010265", "end": "2025-12-19 19:55:14.455796", "msg": "", "rc": 0, "start": "2025-12-19 19:55:14.445531", "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.012294", "end": "2025-12-19 19:55:14.507377", "msg": "", "rc": 0, "start": "2025-12-19 19:55:14.495083", "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.005606", "end": "2025-12-19 19:55:14.705883", "msg": "", "rc": 0, "start": "2025-12-19 19:55:14.700277", "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.005683", "end": "2025-12-19 19:54:41.382535", "msg": "", "rc": 0, "start": "2025-12-19 19:54:41.376852", "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.005454", "end": "2025-12-19 16:55:14.959000", "msg": "", "rc": 0, "start": "2025-12-19 16:55:14.953546", "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.004901", "end": "2025-12-19 19:54:48.794855", "msg": "", "rc": 0, "start": "2025-12-19 19:54:48.789954", "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.005364", "end": "2025-12-19 19:55:15.126381", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.121017", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022101", "end": "2025-12-19 19:55:17.491804", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.469703", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025309", "end": "2025-12-19 19:55:15.138110", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.112801", "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.004236", "end": "2025-12-19 19:55:15.661672", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.657436", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004317", "end": "2025-12-19 19:55:15.669597", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.665280", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004819", "end": "2025-12-19 19:55:15.704358", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.699539", "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.005732", "end": "2025-12-19 19:55:15.729976", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.724244", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.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.005809", "end": "2025-12-19 19:55:15.757141", "msg": "", "rc": 0, "start": "2025-12-19 19:55:15.751332", "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.004326", "end": "2025-12-19 19:54:47.438800", "msg": "", "rc": 0, "start": "2025-12-19 19:54:47.434474", "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.004554", "end": "2025-12-19 19:54:40.173947", "msg": "", "rc": 0, "start": "2025-12-19 19:54:40.169393", "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.011030", "end": "2025-12-19 19:55:16.352442", "msg": "", "rc": 0, "start": "2025-12-19 19:55:16.341412", "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.011926", "end": "2025-12-19 19:55:16.376468", "msg": "", "rc": 0, "start": "2025-12-19 19:55:16.364542", "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.006467", "end": "2025-12-19 19:55:16.718719", "msg": "", "rc": 0, "start": "2025-12-19 19:55:16.712252", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004218", "end": "2025-12-19 19:54:43.332050", "msg": "", "rc": 0, "start": "2025-12-19 19:54:43.327832", "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.005211", "end": "2025-12-19 16:55:16.825502", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 16:55:16.820291", "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.004380", "end": "2025-12-19 19:54:50.656009", "msg": "", "rc": 0, "start": "2025-12-19 19:54:50.651629", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.009138", "end": "2025-12-19 19:55:19.637759", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.628621", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.005330", "end": "2025-12-19 19:55:17.151577", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.146247", "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.025834", "end": "2025-12-19 19:55:17.040245", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.014411", "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.005916", "end": "2025-12-19 19:55:17.564661", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.558745", "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.004954", "end": "2025-12-19 19:55:17.577210", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.572256", "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.005562", "end": "2025-12-19 19:55:17.593915", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.588353", "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.003275", "end": "2025-12-19 19:55:17.613004", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.609729", "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.006455", "end": "2025-12-19 19:55:17.638887", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.632432", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002673", "end": "2025-12-19 19:54:49.266292", "msg": "", "rc": 0, "start": "2025-12-19 19:54:49.263619", "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.003108", "end": "2025-12-19 19:54:42.097125", "msg": "", "rc": 0, "start": "2025-12-19 19:54:42.094017", "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-19 19:55:18.266912", "msg": "", "rc": 0, "start": "2025-12-19 19:55:18.255052", "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.012972", "end": "2025-12-19 19:55:18.315858", "msg": "", "rc": 0, "start": "2025-12-19 19:55:18.302886", "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.003378", "end": "2025-12-19 19:55:18.536709", "msg": "", "rc": 0, "start": "2025-12-19 19:55:18.533331", "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.002930", "end": "2025-12-19 19:54:45.287648", "msg": "", "rc": 0, "start": "2025-12-19 19:54:45.284718", "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.002448", "end": "2025-12-19 19:54:52.585381", "msg": "", "rc": 0, "start": "2025-12-19 19:54:52.582933", "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.003906", "end": "2025-12-19 16:55:18.779499", "msg": "", "rc": 0, "start": "2025-12-19 16:55:18.775593", "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.002891", "end": "2025-12-19 19:55:18.963825", "msg": "", "rc": 0, "start": "2025-12-19 19:55:18.960934", "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.004415", "end": "2025-12-19 19:55:21.798017", "msg": "", "rc": 0, "start": "2025-12-19 19:55:21.793602", "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.028890", "end": "2025-12-19 19:55:18.979171", "msg": "", "rc": 0, "start": "2025-12-19 19:55:18.950281", "stderr": "", "stderr_lines": [], "stdout": "36.6°C", "stdout_lines": ["36.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.004035", "end": "2025-12-19 19:55:19.513281", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.509246", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
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.004310", "end": "2025-12-19 19:55:19.513219", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.508909", "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.004709", "end": "2025-12-19 19:55:19.515587", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.510878", "stderr": "", "stderr_lines": [], "stdout": "0.93", "stdout_lines": ["0.93"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004962", "end": "2025-12-19 19:55:19.552075", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.547113", "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.005890", "end": "2025-12-19 19:55:19.570972", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.565082", "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.004275", "end": "2025-12-19 19:54:51.193318", "msg": "", "rc": 0, "start": "2025-12-19 19:54:51.189043", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
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.005191", "end": "2025-12-19 19:54:43.993857", "msg": "", "rc": 0, "start": "2025-12-19 19:54:43.988666", "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.010141", "end": "2025-12-19 19:55:20.285263", "msg": "", "rc": 0, "start": "2025-12-19 19:55:20.275122", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
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.011438", "end": "2025-12-19 19:55:20.298085", "msg": "", "rc": 0, "start": "2025-12-19 19:55:20.286647", "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.005635", "end": "2025-12-19 19:55:20.458885", "msg": "", "rc": 0, "start": "2025-12-19 19:55:20.453250", "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.005979", "end": "2025-12-19 19:54:47.215689", "msg": "", "rc": 0, "start": "2025-12-19 19:54:47.209710", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006105", "end": "2025-12-19 16:55:20.758710", "msg": "", "rc": 0, "start": "2025-12-19 16:55:20.752605", "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.004860", "end": "2025-12-19 19:54:54.597448", "msg": "", "rc": 0, "start": "2025-12-19 19:54:54.592588", "stderr": "", "stderr_lines": [], "stdout": "1.49", "stdout_lines": ["1.49"]}
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.005339", "end": "2025-12-19 19:55:20.887690", "msg": "", "rc": 0, "start": "2025-12-19 19:55:20.882351", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024134", "end": "2025-12-19 19:55:20.894508", "msg": "", "rc": 0, "start": "2025-12-19 19:55:20.870374", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
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.008827", "end": "2025-12-19 19:55:23.957821", "msg": "", "rc": 0, "start": "2025-12-19 19:55:23.948994", "stderr": "", "stderr_lines": [], "stdout": "1.50", "stdout_lines": ["1.50"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:11 up 10:39, 1 user, load average: 0.58, 0.30, 0.25\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.62\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:11 up 24 days, 6:46, 1 user, load average: 0.31, 0.26, 0.30\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.37\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:11 up 24 days, 7:06, 1 user, load average: 0.82, 0.92, 0.94\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.93\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:11 up 24 days, 8:19, 1 user, load average: 0.49, 0.51, 0.55\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.65\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:11 up 24 days, 9:05, 1 user, load average: 0.11, 0.07, 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: 19:55:13 up 17 days, 9:21, 1 user, load average: 0.31, 0.20, 0.14\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.41\nCPU Temp: 36.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:12 up 196 days, 11:28, 1 user, load average: 0.36, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.30\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:12 up 196 days, 11:28, 1 user, load average: 0.27, 0.16, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.39\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:54:43 up 13 days, 7:44, 0 user, load average: 0.34, 0.17, 0.11\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:54:36 up 20 days, 3:56, 0 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 25%\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: 19:55:12 up 10:38, 1 user, load average: 0.08, 0.09, 0.04\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:54:39 up 22 days, 22:48, 0 user, load average: 0.56, 0.60, 0.49\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:54:46 up 19 days, 9:10, 0 user, load average: 0.72, 0.57, 0.41\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 1.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 4:55PM up 24 days, 6:45, 1 user, load averages: 0.15, 0.20, 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: 19:55:13 up 10:38, 1 user, load average: 0.00, 0.03, 0.07\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:55:15 up 6:21, 1 user, load average: 1.31, 1.18, 1.17\nDisk Usage: 1%\nMemory Usage: 12.8%\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-20T00:55:21.990935+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `64d465fe2671420c8f747d787eb58597` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:00:00.004179+00:00 |
| **Fin** | 2025-12-20T01:00:21.708081+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [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.003225", "end": "2025-12-19 20:00:10.801535", "msg": "", "rc": 0, "start": "2025-12-19 20:00:10.798310", "stderr": "", "stderr_lines": [], "stdout": " 20:00:10 up 24 days, 6:51, 1 user, load average: 0.21, 0.19, 0.25", "stdout_lines": [" 20:00:10 up 24 days, 6:51, 1 user, load average: 0.21, 0.19, 0.25"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003766", "end": "2025-12-19 20:00:10.806303", "msg": "", "rc": 0, "start": "2025-12-19 20:00:10.802537", "stderr": "", "stderr_lines": [], "stdout": " 20:00:10 up 24 days, 9:10, 1 user, load average: 0.06, 0.05, 0.00", "stdout_lines": [" 20:00:10 up 24 days, 9:10, 1 user, load average: 0.06, 0.05, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002891", "end": "2025-12-19 20:00:10.831356", "msg": "", "rc": 0, "start": "2025-12-19 20:00:10.828465", "stderr": "", "stderr_lines": [], "stdout": " 20:00:10 up 10:44, 1 user, load average: 0.32, 0.22, 0.22", "stdout_lines": [" 20:00:10 up 10:44, 1 user, load average: 0.32, 0.22, 0.22"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008445", "end": "2025-12-19 20:00:11.474117", "msg": "", "rc": 0, "start": "2025-12-19 20:00:11.465672", "stderr": "", "stderr_lines": [], "stdout": " 20:00:11 up 196 days, 11:33, 1 user, load average: 0.15, 0.13, 0.11", "stdout_lines": [" 20:00:11 up 196 days, 11:33, 1 user, load average: 0.15, 0.13, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009196", "end": "2025-12-19 20:00:11.518146", "msg": "", "rc": 0, "start": "2025-12-19 20:00:11.508950", "stderr": "", "stderr_lines": [], "stdout": " 20:00:11 up 196 days, 11:33, 1 user, load average: 0.14, 0.16, 0.17", "stdout_lines": [" 20:00:11 up 196 days, 11:33, 1 user, load average: 0.14, 0.16, 0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004400", "end": "2025-12-19 20:00:11.801523", "msg": "", "rc": 0, "start": "2025-12-19 20:00:10.797123", "stderr": "", "stderr_lines": [], "stdout": " 20:00:10 up 24 days, 7:11, 1 user, load average: 0.74, 0.80, 0.88", "stdout_lines": [" 20:00:10 up 24 days, 7:11, 1 user, load average: 0.74, 0.80, 0.88"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004682", "end": "2025-12-19 20:00:11.821435", "msg": "", "rc": 0, "start": "2025-12-19 20:00:10.816753", "stderr": "", "stderr_lines": [], "stdout": " 20:00:10 up 24 days, 8:24, 1 user, load average: 0.94, 0.73, 0.62", "stdout_lines": [" 20:00:10 up 24 days, 8:24, 1 user, load average: 0.94, 0.73, 0.62"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002734", "end": "2025-12-19 19:59:43.160748", "msg": "", "rc": 0, "start": "2025-12-19 19:59:43.158014", "stderr": "", "stderr_lines": [], "stdout": " 19:59:43 up 13 days, 7:49, 0 user, load average: 0.13, 0.14, 0.10", "stdout_lines": [" 19:59:43 up 13 days, 7:49, 0 user, load average: 0.13, 0.14, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003596", "end": "2025-12-19 19:59:35.976966", "msg": "", "rc": 0, "start": "2025-12-19 19:59:35.973370", "stderr": "", "stderr_lines": [], "stdout": " 19:59:35 up 20 days, 4:01, 0 user, load average: 0.09, 0.04, 0.01", "stdout_lines": [" 19:59:35 up 20 days, 4:01, 0 user, load average: 0.09, 0.04, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004519", "end": "2025-12-19 20:00:12.248167", "msg": "", "rc": 0, "start": "2025-12-19 20:00:12.243648", "stderr": "", "stderr_lines": [], "stdout": " 20:00:12 up 10:43, 1 user, load average: 0.10, 0.05, 0.03", "stdout_lines": [" 20:00:12 up 10:43, 1 user, load average: 0.10, 0.05, 0.03"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019472", "end": "2025-12-19 20:00:12.177802", "msg": "", "rc": 0, "start": "2025-12-19 20:00:12.158330", "stderr": "", "stderr_lines": [], "stdout": " 20:00:12 up 17 days, 9:26, 1 user, load average: 0.19, 0.15, 0.13", "stdout_lines": [" 20:00:12 up 17 days, 9:26, 1 user, load average: 0.19, 0.15, 0.13"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003092", "end": "2025-12-19 19:59:38.867228", "msg": "", "rc": 0, "start": "2025-12-19 19:59:38.864136", "stderr": "", "stderr_lines": [], "stdout": " 19:59:38 up 22 days, 22:53, 0 user, load average: 0.41, 0.53, 0.49", "stdout_lines": [" 19:59:38 up 22 days, 22:53, 0 user, load average: 0.41, 0.53, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002935", "end": "2025-12-19 19:59:46.217308", "msg": "", "rc": 0, "start": "2025-12-19 19:59:46.214373", "stderr": "", "stderr_lines": [], "stdout": " 19:59:46 up 19 days, 9:15, 0 user, load average: 0.31, 0.53, 0.45", "stdout_lines": [" 19:59:46 up 19 days, 9:15, 0 user, load average: 0.31, 0.53, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004209", "end": "2025-12-19 17:00:12.502459", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.498250", "stderr": "", "stderr_lines": [], "stdout": " 5:00PM up 24 days, 6:49, 1 user, load averages: 0.13, 0.21, 0.20", "stdout_lines": [" 5:00PM up 24 days, 6:49, 1 user, load averages: 0.13, 0.21, 0.20"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008883", "end": "2025-12-19 20:00:15.309898", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.301015", "stderr": "", "stderr_lines": [], "stdout": " 20:00:15 up 6:26, 1 user, load average: 1.30, 1.17, 1.17", "stdout_lines": [" 20:00:15 up 6:26, 1 user, load average: 1.30, 1.17, 1.17"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003647", "end": "2025-12-19 20:00:12.673889", "msg": "", "rc": 0, "start": "2025-12-19 20:00:12.670242", "stderr": "", "stderr_lines": [], "stdout": " 20:00:12 up 10:43, 1 user, load average: 0.01, 0.04, 0.07", "stdout_lines": [" 20:00:12 up 10:43, 1 user, load average: 0.01, 0.04, 0.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004168", "end": "2025-12-19 20:00:13.076858", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.072690", "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.004264", "end": "2025-12-19 20:00:13.082754", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.078490", "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.004672", "end": "2025-12-19 20:00:13.108323", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.103651", "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.004249", "end": "2025-12-19 20:00:13.122039", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.117790", "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.005693", "end": "2025-12-19 20:00:13.136167", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.130474", "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.005118", "end": "2025-12-19 19:59:44.763913", "msg": "", "rc": 0, "start": "2025-12-19 19:59:44.758795", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005311", "end": "2025-12-19 19:59:37.547669", "msg": "", "rc": 0, "start": "2025-12-19 19:59:37.542358", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010378", "end": "2025-12-19 20:00:13.834745", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.824367", "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.011338", "end": "2025-12-19 20:00:13.863903", "msg": "", "rc": 0, "start": "2025-12-19 20:00:13.852565", "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.005870", "end": "2025-12-19 20:00:14.041265", "msg": "", "rc": 0, "start": "2025-12-19 20:00:14.035395", "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.005178", "end": "2025-12-19 19:59:40.710506", "msg": "", "rc": 0, "start": "2025-12-19 19:59:40.705328", "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.005436", "end": "2025-12-19 17:00:14.308625", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.303189", "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.006644", "end": "2025-12-19 19:59:48.149202", "msg": "", "rc": 0, "start": "2025-12-19 19:59:48.142558", "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.005301", "end": "2025-12-19 20:00:14.458111", "msg": "", "rc": 0, "start": "2025-12-19 20:00:14.452810", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021376", "end": "2025-12-19 20:00:17.412226", "msg": "", "rc": 0, "start": "2025-12-19 20:00:17.390850", "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.024999", "end": "2025-12-19 20:00:14.462960", "msg": "", "rc": 0, "start": "2025-12-19 20:00:14.437961", "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.004195", "end": "2025-12-19 20:00:14.977501", "msg": "", "rc": 0, "start": "2025-12-19 20:00:14.973306", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004168", "end": "2025-12-19 20:00:15.001587", "msg": "", "rc": 0, "start": "2025-12-19 20:00:14.997419", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.005052", "end": "2025-12-19 20:00:15.026188", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.021136", "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.005078", "end": "2025-12-19 20:00:15.030882", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.025804", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005765", "end": "2025-12-19 20:00:15.050748", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.044983", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003698", "end": "2025-12-19 19:59:46.693687", "msg": "", "rc": 0, "start": "2025-12-19 19:59:46.689989", "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.004458", "end": "2025-12-19 19:59:39.464010", "msg": "", "rc": 0, "start": "2025-12-19 19:59:39.459552", "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.010925", "end": "2025-12-19 20:00:15.681275", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.670350", "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.011898", "end": "2025-12-19 20:00:15.717008", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.705110", "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.005674", "end": "2025-12-19 20:00:15.971652", "msg": "", "rc": 0, "start": "2025-12-19 20:00:15.965978", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004198", "end": "2025-12-19 19:59:42.645102", "msg": "", "rc": 0, "start": "2025-12-19 19:59:42.640904", "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.005092", "end": "2025-12-19 17:00:16.163275", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:00:16.158183", "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.003887", "end": "2025-12-19 19:59:49.976476", "msg": "", "rc": 0, "start": "2025-12-19 19:59:49.972589", "stderr": "", "stderr_lines": [], "stdout": "54.2%", "stdout_lines": ["54.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.005315", "end": "2025-12-19 20:00:16.401292", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.395977", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010757", "end": "2025-12-19 20:00:16.574893", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.564136", "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.026130", "end": "2025-12-19 20:00:16.360894", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.334764", "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.005492", "end": "2025-12-19 20:00:16.871296", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.865804", "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.005741", "end": "2025-12-19 20:00:16.892896", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.887155", "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.004908", "end": "2025-12-19 20:00:16.895144", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.890236", "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.003300", "end": "2025-12-19 20:00:16.924128", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.920828", "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.006495", "end": "2025-12-19 20:00:16.942306", "msg": "", "rc": 0, "start": "2025-12-19 20:00:16.935811", "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.002634", "end": "2025-12-19 19:59:48.576847", "msg": "", "rc": 0, "start": "2025-12-19 19:59:48.574213", "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.003203", "end": "2025-12-19 19:59:41.350493", "msg": "", "rc": 0, "start": "2025-12-19 19:59:41.347290", "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.011801", "end": "2025-12-19 20:00:17.567685", "msg": "", "rc": 0, "start": "2025-12-19 20:00:17.555884", "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.013075", "end": "2025-12-19 20:00:17.614381", "msg": "", "rc": 0, "start": "2025-12-19 20:00:17.601306", "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.003197", "end": "2025-12-19 20:00:17.836575", "msg": "", "rc": 0, "start": "2025-12-19 20:00:17.833378", "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.003056", "end": "2025-12-19 19:59:44.516842", "msg": "", "rc": 0, "start": "2025-12-19 19:59:44.513786", "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.002776", "end": "2025-12-19 19:59:51.864218", "msg": "", "rc": 0, "start": "2025-12-19 19:59:51.861442", "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.004062", "end": "2025-12-19 17:00:18.069945", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.065883", "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-19 20:00:18.265097", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.262067", "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.008526", "end": "2025-12-19 20:00:18.636491", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.627965", "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.028603", "end": "2025-12-19 20:00:18.263329", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.234726", "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.004202", "end": "2025-12-19 20:00:18.784990", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.780788", "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.004046", "end": "2025-12-19 20:00:18.799561", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.795515", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.004961", "end": "2025-12-19 20:00:18.811410", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.806449", "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.005450", "end": "2025-12-19 20:00:18.837338", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.831888", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005884", "end": "2025-12-19 20:00:18.853993", "msg": "", "rc": 0, "start": "2025-12-19 20:00:18.848109", "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.004319", "end": "2025-12-19 19:59:50.458569", "msg": "", "rc": 0, "start": "2025-12-19 19:59:50.454250", "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.006574", "end": "2025-12-19 19:59:43.277346", "msg": "", "rc": 0, "start": "2025-12-19 19:59:43.270772", "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.010167", "end": "2025-12-19 20:00:19.557971", "msg": "", "rc": 0, "start": "2025-12-19 20:00:19.547804", "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.012401", "end": "2025-12-19 20:00:19.582452", "msg": "", "rc": 0, "start": "2025-12-19 20:00:19.570051", "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.005672", "end": "2025-12-19 20:00:19.737583", "msg": "", "rc": 0, "start": "2025-12-19 20:00:19.731911", "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.004844", "end": "2025-12-19 19:59:46.464675", "msg": "", "rc": 0, "start": "2025-12-19 19:59:46.459831", "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.006159", "end": "2025-12-19 17:00:20.041694", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.035535", "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.004840", "end": "2025-12-19 19:59:53.863240", "msg": "", "rc": 0, "start": "2025-12-19 19:59:53.858400", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.005317", "end": "2025-12-19 20:00:20.152347", "msg": "", "rc": 0, "start": "2025-12-19 20:00:20.147030", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008925", "end": "2025-12-19 20:00:20.794699", "msg": "", "rc": 0, "start": "2025-12-19 20:00:20.785774", "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.024503", "end": "2025-12-19 20:00:20.178537", "msg": "", "rc": 0, "start": "2025-12-19 20:00:20.154034", "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: 20:00:10 up 24 days, 6:51, 1 user, load average: 0.21, 0.19, 0.25\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.19\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:10 up 10:44, 1 user, load average: 0.32, 0.22, 0.22\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.29\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:10 up 24 days, 7:11, 1 user, load average: 0.74, 0.80, 0.88\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.92\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:10 up 24 days, 8:24, 1 user, load average: 0.94, 0.73, 0.62\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.88\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:10 up 24 days, 9:10, 1 user, load average: 0.06, 0.05, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:12 up 17 days, 9:26, 1 user, load average: 0.19, 0.15, 0.13\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.31\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:11 up 196 days, 11:33, 1 user, load average: 0.14, 0.16, 0.17\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.20\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:11 up 196 days, 11:33, 1 user, load average: 0.15, 0.13, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.14\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:59:43 up 13 days, 7:49, 0 user, load average: 0.13, 0.14, 0.10\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:59:35 up 20 days, 4:01, 0 user, load average: 0.09, 0.04, 0.01\nDisk Usage: 25%\nMemory Usage: 65.2%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:12 up 10:43, 1 user, load average: 0.10, 0.05, 0.03\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:59:46 up 19 days, 9:15, 0 user, load average: 0.31, 0.53, 0.45\nDisk Usage: 76%\nMemory Usage: 54.2%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 19:59:38 up 22 days, 22:53, 0 user, load average: 0.41, 0.53, 0.49\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:00PM up 24 days, 6:49, 1 user, load averages: 0.13, 0.21, 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: 20:00:12 up 10:43, 1 user, load average: 0.01, 0.04, 0.07\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:00:15 up 6:26, 1 user, load average: 1.30, 1.17, 1.17\nDisk Usage: 1%\nMemory Usage: 12.8%\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-20T01:00:21.768918+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `99ab73eb7e1647fcbf233697d8adc75f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:05:00.008760+00:00 |
| **Fin** | 2025-12-20T01:05:21.377551+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003283", "end": "2025-12-19 20:05:10.417524", "msg": "", "rc": 0, "start": "2025-12-19 20:05:10.414241", "stderr": "", "stderr_lines": [], "stdout": " 20:05:10 up 24 days, 6:56, 1 user, load average: 0.13, 0.15, 0.22", "stdout_lines": [" 20:05:10 up 24 days, 6:56, 1 user, load average: 0.13, 0.15, 0.22"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003628", "end": "2025-12-19 20:05:10.423237", "msg": "", "rc": 0, "start": "2025-12-19 20:05:10.419609", "stderr": "", "stderr_lines": [], "stdout": " 20:05:10 up 24 days, 9:15, 1 user, load average: 0.02, 0.02, 0.00", "stdout_lines": [" 20:05:10 up 24 days, 9:15, 1 user, load average: 0.02, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003498", "end": "2025-12-19 20:05:10.438011", "msg": "", "rc": 0, "start": "2025-12-19 20:05:10.434513", "stderr": "", "stderr_lines": [], "stdout": " 20:05:10 up 24 days, 7:16, 1 user, load average: 0.97, 0.82, 0.87", "stdout_lines": [" 20:05:10 up 24 days, 7:16, 1 user, load average: 0.97, 0.82, 0.87"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003107", "end": "2025-12-19 20:05:10.458068", "msg": "", "rc": 0, "start": "2025-12-19 20:05:10.454961", "stderr": "", "stderr_lines": [], "stdout": " 20:05:10 up 10:49, 1 user, load average: 0.23, 0.22, 0.21", "stdout_lines": [" 20:05:10 up 10:49, 1 user, load average: 0.23, 0.22, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004212", "end": "2025-12-19 20:05:10.466894", "msg": "", "rc": 0, "start": "2025-12-19 20:05:10.462682", "stderr": "", "stderr_lines": [], "stdout": " 20:05:10 up 24 days, 8:29, 1 user, load average: 1.02, 0.70, 0.63", "stdout_lines": [" 20:05:10 up 24 days, 8:29, 1 user, load average: 1.02, 0.70, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003227", "end": "2025-12-19 20:04:42.128992", "msg": "", "rc": 0, "start": "2025-12-19 20:04:42.125765", "stderr": "", "stderr_lines": [], "stdout": " 20:04:42 up 13 days, 7:54, 0 user, load average: 0.23, 0.16, 0.10", "stdout_lines": [" 20:04:42 up 13 days, 7:54, 0 user, load average: 0.23, 0.16, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003670", "end": "2025-12-19 20:04:34.905437", "msg": "", "rc": 0, "start": "2025-12-19 20:04:34.901767", "stderr": "", "stderr_lines": [], "stdout": " 20:04:34 up 20 days, 4:06, 0 user, load average: 0.21, 0.10, 0.02", "stdout_lines": [" 20:04:34 up 20 days, 4:06, 0 user, load average: 0.21, 0.10, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008412", "end": "2025-12-19 20:05:11.102443", "msg": "", "rc": 0, "start": "2025-12-19 20:05:11.094031", "stderr": "", "stderr_lines": [], "stdout": " 20:05:11 up 196 days, 11:38, 1 user, load average: 0.17, 0.18, 0.13", "stdout_lines": [" 20:05:11 up 196 days, 11:38, 1 user, load average: 0.17, 0.18, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009223", "end": "2025-12-19 20:05:11.149021", "msg": "", "rc": 0, "start": "2025-12-19 20:05:11.139798", "stderr": "", "stderr_lines": [], "stdout": " 20:05:11 up 196 days, 11:38, 1 user, load average: 0.24, 0.17, 0.17", "stdout_lines": [" 20:05:11 up 196 days, 11:38, 1 user, load average: 0.24, 0.17, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004463", "end": "2025-12-19 20:05:11.406026", "msg": "", "rc": 0, "start": "2025-12-19 20:05:11.401563", "stderr": "", "stderr_lines": [], "stdout": " 20:05:11 up 10:48, 1 user, load average: 0.00, 0.05, 0.03", "stdout_lines": [" 20:05:11 up 10:48, 1 user, load average: 0.00, 0.05, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003337", "end": "2025-12-19 20:04:38.100131", "msg": "", "rc": 0, "start": "2025-12-19 20:04:38.096794", "stderr": "", "stderr_lines": [], "stdout": " 20:04:38 up 22 days, 22:58, 0 user, load average: 0.48, 0.52, 0.50", "stdout_lines": [" 20:04:38 up 22 days, 22:58, 0 user, load average: 0.48, 0.52, 0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004215", "end": "2025-12-19 17:05:11.599386", "msg": "", "rc": 0, "start": "2025-12-19 17:05:11.595171", "stderr": "", "stderr_lines": [], "stdout": " 5:05PM up 24 days, 6:54, 1 user, load averages: 0.30, 0.24, 0.21", "stdout_lines": [" 5:05PM up 24 days, 6:54, 1 user, load averages: 0.30, 0.24, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003413", "end": "2025-12-19 20:04:45.408191", "msg": "", "rc": 0, "start": "2025-12-19 20:04:45.404778", "stderr": "", "stderr_lines": [], "stdout": " 20:04:45 up 19 days, 9:20, 0 user, load average: 0.54, 0.37, 0.38", "stdout_lines": [" 20:04:45 up 19 days, 9:20, 0 user, load average: 0.54, 0.37, 0.38"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003898", "end": "2025-12-19 20:05:11.840357", "msg": "", "rc": 0, "start": "2025-12-19 20:05:11.836459", "stderr": "", "stderr_lines": [], "stdout": " 20:05:11 up 10:48, 1 user, load average: 0.00, 0.00, 0.04", "stdout_lines": [" 20:05:11 up 10:48, 1 user, load average: 0.00, 0.00, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007592", "end": "2025-12-19 20:05:12.039433", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.031841", "stderr": "", "stderr_lines": [], "stdout": " 20:05:12 up 6:32, 1 user, load average: 1.10, 1.10, 1.13", "stdout_lines": [" 20:05:12 up 6:32, 1 user, load average: 1.10, 1.10, 1.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019340", "end": "2025-12-19 20:05:11.799695", "msg": "", "rc": 0, "start": "2025-12-19 20:05:11.780355", "stderr": "", "stderr_lines": [], "stdout": " 20:05:11 up 17 days, 9:31, 1 user, load average: 0.23, 0.14, 0.12", "stdout_lines": [" 20:05:11 up 17 days, 9:31, 1 user, load average: 0.23, 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.004113", "end": "2025-12-19 20:05:12.335625", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.331512", "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-19 20:05:12.342442", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.338270", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004804", "end": "2025-12-19 20:05:12.357313", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.352509", "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.004303", "end": "2025-12-19 20:05:12.376459", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.372156", "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.005305", "end": "2025-12-19 20:05:12.395180", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.389875", "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.005282", "end": "2025-12-19 20:04:44.020605", "msg": "", "rc": 0, "start": "2025-12-19 20:04:44.015323", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005247", "end": "2025-12-19 20:04:36.798663", "msg": "", "rc": 0, "start": "2025-12-19 20:04:36.793416", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010493", "end": "2025-12-19 20:05:13.066928", "msg": "", "rc": 0, "start": "2025-12-19 20:05:13.056435", "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.011618", "end": "2025-12-19 20:05:13.109406", "msg": "", "rc": 0, "start": "2025-12-19 20:05:13.097788", "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.005642", "end": "2025-12-19 20:05:13.304238", "msg": "", "rc": 0, "start": "2025-12-19 20:05:13.298596", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005311", "end": "2025-12-19 20:04:39.971335", "msg": "", "rc": 0, "start": "2025-12-19 20:04:39.966024", "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.005453", "end": "2025-12-19 17:05:13.557925", "msg": "", "rc": 0, "start": "2025-12-19 17:05:13.552472", "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.005177", "end": "2025-12-19 20:04:47.376159", "msg": "", "rc": 0, "start": "2025-12-19 20:04:47.370982", "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.005415", "end": "2025-12-19 20:05:13.722209", "msg": "", "rc": 0, "start": "2025-12-19 20:05:13.716794", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.015952", "end": "2025-12-19 20:05:14.127659", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.111707", "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.025632", "end": "2025-12-19 20:05:13.727590", "msg": "", "rc": 0, "start": "2025-12-19 20:05:13.701958", "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.004267", "end": "2025-12-19 20:05:14.245113", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.240846", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004143", "end": "2025-12-19 20:05:14.269034", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.264891", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004699", "end": "2025-12-19 20:05:14.297005", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.292306", "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.004717", "end": "2025-12-19 20:05:14.304014", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.299297", "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.005749", "end": "2025-12-19 20:05:14.324349", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.318600", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004148", "end": "2025-12-19 20:04:45.936922", "msg": "", "rc": 0, "start": "2025-12-19 20:04:45.932774", "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.004491", "end": "2025-12-19 20:04:38.723457", "msg": "", "rc": 0, "start": "2025-12-19 20:04:38.718966", "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.011614", "end": "2025-12-19 20:05:14.932468", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.920854", "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.011886", "end": "2025-12-19 20:05:14.959423", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.947537", "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.005717", "end": "2025-12-19 20:05:15.201809", "msg": "", "rc": 0, "start": "2025-12-19 20:05:15.196092", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004272", "end": "2025-12-19 20:04:41.893125", "msg": "", "rc": 0, "start": "2025-12-19 20:04:41.888853", "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.005293", "end": "2025-12-19 17:05:15.419860", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:05:15.414567", "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.003787", "end": "2025-12-19 20:04:49.229118", "msg": "", "rc": 0, "start": "2025-12-19 20:04:49.225331", "stderr": "", "stderr_lines": [], "stdout": "55.8%", "stdout_lines": ["55.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.005336", "end": "2025-12-19 20:05:15.628430", "msg": "", "rc": 0, "start": "2025-12-19 20:05:15.623094", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.008586", "end": "2025-12-19 20:05:16.218720", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.210134", "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.025816", "end": "2025-12-19 20:05:15.629177", "msg": "", "rc": 0, "start": "2025-12-19 20:05:15.603361", "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.005298", "end": "2025-12-19 20:05:16.165531", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.160233", "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.005827", "end": "2025-12-19 20:05:16.179614", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.173787", "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-19 20:05:16.178912", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.174084", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003375", "end": "2025-12-19 20:05:16.201993", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.198618", "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.007029", "end": "2025-12-19 20:05:16.224268", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.217239", "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.002666", "end": "2025-12-19 20:04:47.840424", "msg": "", "rc": 0, "start": "2025-12-19 20:04:47.837758", "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.003270", "end": "2025-12-19 20:04:40.632066", "msg": "", "rc": 0, "start": "2025-12-19 20:04:40.628796", "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.011821", "end": "2025-12-19 20:05:16.841369", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.829548", "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.013145", "end": "2025-12-19 20:05:16.869867", "msg": "", "rc": 0, "start": "2025-12-19 20:05:16.856722", "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.003252", "end": "2025-12-19 20:05:17.117581", "msg": "", "rc": 0, "start": "2025-12-19 20:05:17.114329", "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-19 20:04:43.803561", "msg": "", "rc": 0, "start": "2025-12-19 20:04:43.800556", "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.004012", "end": "2025-12-19 17:05:17.322760", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.318748", "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.002531", "end": "2025-12-19 20:04:51.142298", "msg": "", "rc": 0, "start": "2025-12-19 20:04:51.139767", "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.002893", "end": "2025-12-19 20:05:17.545200", "msg": "", "rc": 0, "start": "2025-12-19 20:05:17.542307", "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.005381", "end": "2025-12-19 20:05:18.353950", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.348569", "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.029104", "end": "2025-12-19 20:05:17.551275", "msg": "", "rc": 0, "start": "2025-12-19 20:05:17.522171", "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.004193", "end": "2025-12-19 20:05:18.064864", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.060671", "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.004118", "end": "2025-12-19 20:05:18.091716", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.087598", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.004811", "end": "2025-12-19 20:05:18.107361", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.102550", "stderr": "", "stderr_lines": [], "stdout": "1.05", "stdout_lines": ["1.05"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005764", "end": "2025-12-19 20:05:18.113125", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.107361", "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.005990", "end": "2025-12-19 20:05:18.133231", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.127241", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004894", "end": "2025-12-19 20:04:49.768496", "msg": "", "rc": 0, "start": "2025-12-19 20:04:49.763602", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
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.004985", "end": "2025-12-19 20:04:42.544310", "msg": "", "rc": 0, "start": "2025-12-19 20:04:42.539325", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011458", "end": "2025-12-19 20:05:18.836798", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.825340", "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.011174", "end": "2025-12-19 20:05:18.889166", "msg": "", "rc": 0, "start": "2025-12-19 20:05:18.877992", "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.005655", "end": "2025-12-19 20:05:19.042045", "msg": "", "rc": 0, "start": "2025-12-19 20:05:19.036390", "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.005263", "end": "2025-12-19 20:04:45.717117", "msg": "", "rc": 0, "start": "2025-12-19 20:04:45.711854", "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.004353", "end": "2025-12-19 20:04:53.134514", "msg": "", "rc": 0, "start": "2025-12-19 20:04:53.130161", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.005955", "end": "2025-12-19 17:05:19.352705", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.346750", "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.005168", "end": "2025-12-19 20:05:19.469501", "msg": "", "rc": 0, "start": "2025-12-19 20:05:19.464333", "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.008013", "end": "2025-12-19 20:05:20.430671", "msg": "", "rc": 0, "start": "2025-12-19 20:05:20.422658", "stderr": "", "stderr_lines": [], "stdout": "1.41", "stdout_lines": ["1.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.024494", "end": "2025-12-19 20:05:19.446325", "msg": "", "rc": 0, "start": "2025-12-19 20:05:19.421831", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:10 up 24 days, 6:56, 1 user, load average: 0.13, 0.15, 0.22\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:10 up 10:49, 1 user, load average: 0.23, 0.22, 0.21\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.29\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:10 up 24 days, 7:16, 1 user, load average: 0.97, 0.82, 0.87\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.05\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:10 up 24 days, 8:29, 1 user, load average: 1.02, 0.70, 0.63\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.94\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:10 up 24 days, 9:15, 1 user, load average: 0.02, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:11 up 17 days, 9:31, 1 user, load average: 0.23, 0.14, 0.12\nDisk Usage: 21%\nMemory Usage: 20.0%\nCPU Load: 0.29\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:11 up 196 days, 11:38, 1 user, load average: 0.24, 0.17, 0.17\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.22\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:11 up 196 days, 11:38, 1 user, load average: 0.17, 0.18, 0.13\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.16\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:04:42 up 13 days, 7:54, 0 user, load average: 0.23, 0.16, 0.10\nDisk Usage: 50%\nMemory Usage: 70.7%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:04:34 up 20 days, 4:06, 0 user, load average: 0.21, 0.10, 0.02\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:11 up 10:48, 1 user, load average: 0.00, 0.05, 0.03\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:04:38 up 22 days, 22:58, 0 user, load average: 0.48, 0.52, 0.50\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:04:45 up 19 days, 9:20, 0 user, load average: 0.54, 0.37, 0.38\nDisk Usage: 76%\nMemory Usage: 55.8%\nCPU Load: 0.65\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:05PM up 24 days, 6:54, 1 user, load averages: 0.30, 0.24, 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: 20:05:11 up 10:48, 1 user, load average: 0.00, 0.00, 0.04\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:05:12 up 6:32, 1 user, load average: 1.10, 1.10, 1.13\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.41\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-20T01:05:21.439917+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a067896949f44414ac9d5215941a6c87` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:10:00.005939+00:00 |
| **Fin** | 2025-12-20T01:10:21.816938+00:00 |
| **Durée** | 21.8s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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.003424", "end": "2025-12-19 20:10:09.829927", "msg": "", "rc": 0, "start": "2025-12-19 20:10:09.826503", "stderr": "", "stderr_lines": [], "stdout": " 20:10:09 up 24 days, 7:21, 1 user, load average: 1.10, 1.04, 0.95", "stdout_lines": [" 20:10:09 up 24 days, 7:21, 1 user, load average: 1.10, 1.04, 0.95"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003856", "end": "2025-12-19 20:10:09.843806", "msg": "", "rc": 0, "start": "2025-12-19 20:10:09.839950", "stderr": "", "stderr_lines": [], "stdout": " 20:10:09 up 24 days, 9:20, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 20:10:09 up 24 days, 9:20, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003044", "end": "2025-12-19 20:10:09.870543", "msg": "", "rc": 0, "start": "2025-12-19 20:10:09.867499", "stderr": "", "stderr_lines": [], "stdout": " 20:10:09 up 10:54, 1 user, load average: 0.16, 0.15, 0.18", "stdout_lines": [" 20:10:09 up 10:54, 1 user, load average: 0.16, 0.15, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008472", "end": "2025-12-19 20:10:10.509376", "msg": "", "rc": 0, "start": "2025-12-19 20:10:10.500904", "stderr": "", "stderr_lines": [], "stdout": " 20:10:10 up 196 days, 11:43, 1 user, load average: 0.26, 0.22, 0.15", "stdout_lines": [" 20:10:10 up 196 days, 11:43, 1 user, load average: 0.26, 0.22, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009374", "end": "2025-12-19 20:10:10.552976", "msg": "", "rc": 0, "start": "2025-12-19 20:10:10.543602", "stderr": "", "stderr_lines": [], "stdout": " 20:10:10 up 196 days, 11:43, 1 user, load average: 0.45, 0.26, 0.21", "stdout_lines": [" 20:10:10 up 196 days, 11:43, 1 user, load average: 0.45, 0.26, 0.21"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003967", "end": "2025-12-19 20:10:10.836594", "msg": "", "rc": 0, "start": "2025-12-19 20:10:09.832627", "stderr": "", "stderr_lines": [], "stdout": " 20:10:09 up 24 days, 7:01, 1 user, load average: 0.10, 0.12, 0.18", "stdout_lines": [" 20:10:09 up 24 days, 7:01, 1 user, load average: 0.10, 0.12, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005264", "end": "2025-12-19 20:10:10.870915", "msg": "", "rc": 0, "start": "2025-12-19 20:10:09.865651", "stderr": "", "stderr_lines": [], "stdout": " 20:10:09 up 24 days, 8:34, 1 user, load average: 0.69, 0.60, 0.60", "stdout_lines": [" 20:10:09 up 24 days, 8:34, 1 user, load average: 0.69, 0.60, 0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002966", "end": "2025-12-19 20:09:42.183481", "msg": "", "rc": 0, "start": "2025-12-19 20:09:42.180515", "stderr": "", "stderr_lines": [], "stdout": " 20:09:42 up 13 days, 7:59, 0 user, load average: 0.15, 0.16, 0.11", "stdout_lines": [" 20:09:42 up 13 days, 7:59, 0 user, load average: 0.15, 0.16, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003501", "end": "2025-12-19 20:09:35.045085", "msg": "", "rc": 0, "start": "2025-12-19 20:09:35.041584", "stderr": "", "stderr_lines": [], "stdout": " 20:09:35 up 20 days, 4:11, 0 user, load average: 0.10, 0.07, 0.01", "stdout_lines": [" 20:09:35 up 20 days, 4:11, 0 user, load average: 0.10, 0.07, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004551", "end": "2025-12-19 20:10:11.305718", "msg": "", "rc": 0, "start": "2025-12-19 20:10:11.301167", "stderr": "", "stderr_lines": [], "stdout": " 20:10:11 up 10:53, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 20:10:11 up 10:53, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019611", "end": "2025-12-19 20:10:11.220848", "msg": "", "rc": 0, "start": "2025-12-19 20:10:11.201237", "stderr": "", "stderr_lines": [], "stdout": " 20:10:11 up 17 days, 9:36, 1 user, load average: 0.14, 0.12, 0.11", "stdout_lines": [" 20:10:11 up 17 days, 9:36, 1 user, load average: 0.14, 0.12, 0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004039", "end": "2025-12-19 20:09:37.969606", "msg": "", "rc": 0, "start": "2025-12-19 20:09:37.965567", "stderr": "", "stderr_lines": [], "stdout": " 20:09:37 up 22 days, 23:03, 0 user, load average: 0.53, 0.51, 0.50", "stdout_lines": [" 20:09:37 up 22 days, 23:03, 0 user, load average: 0.53, 0.51, 0.50"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003817", "end": "2025-12-19 20:09:45.316733", "msg": "", "rc": 0, "start": "2025-12-19 20:09:45.312916", "stderr": "", "stderr_lines": [], "stdout": " 20:09:45 up 19 days, 9:25, 0 user, load average: 0.28, 0.37, 0.37", "stdout_lines": [" 20:09:45 up 19 days, 9:25, 0 user, load average: 0.28, 0.37, 0.37"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004230", "end": "2025-12-19 17:10:11.602428", "msg": "", "rc": 0, "start": "2025-12-19 17:10:11.598198", "stderr": "", "stderr_lines": [], "stdout": " 5:10PM up 24 days, 6:59, 1 user, load averages: 0.14, 0.19, 0.19", "stdout_lines": [" 5:10PM up 24 days, 6:59, 1 user, load averages: 0.14, 0.19, 0.19"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007664", "end": "2025-12-19 20:10:12.478874", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.471210", "stderr": "", "stderr_lines": [], "stdout": " 20:10:12 up 6:37, 1 user, load average: 1.15, 1.11, 1.13", "stdout_lines": [" 20:10:12 up 6:37, 1 user, load average: 1.15, 1.11, 1.13"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003637", "end": "2025-12-19 20:10:11.729136", "msg": "", "rc": 0, "start": "2025-12-19 20:10:11.725499", "stderr": "", "stderr_lines": [], "stdout": " 20:10:11 up 10:53, 1 user, load average: 0.14, 0.05, 0.03", "stdout_lines": [" 20:10:11 up 10:53, 1 user, load average: 0.14, 0.05, 0.03"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004172", "end": "2025-12-19 20:10:12.148565", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.144393", "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-19 20:10:12.163888", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.159742", "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.004810", "end": "2025-12-19 20:10:12.172497", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.167687", "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.004693", "end": "2025-12-19 20:10:12.187564", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.182871", "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.005803", "end": "2025-12-19 20:10:12.220040", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.214237", "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.005268", "end": "2025-12-19 20:09:43.834312", "msg": "", "rc": 0, "start": "2025-12-19 20:09:43.829044", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006332", "end": "2025-12-19 20:09:36.651561", "msg": "", "rc": 0, "start": "2025-12-19 20:09:36.645229", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010403", "end": "2025-12-19 20:10:12.892187", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.881784", "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.011657", "end": "2025-12-19 20:10:12.959701", "msg": "", "rc": 0, "start": "2025-12-19 20:10:12.948044", "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-19 20:10:13.104627", "msg": "", "rc": 0, "start": "2025-12-19 20:10:13.098845", "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.005515", "end": "2025-12-19 20:09:39.824770", "msg": "", "rc": 0, "start": "2025-12-19 20:09:39.819255", "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.004827", "end": "2025-12-19 20:09:47.187387", "msg": "", "rc": 0, "start": "2025-12-19 20:09:47.182560", "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.005497", "end": "2025-12-19 17:10:13.405982", "msg": "", "rc": 0, "start": "2025-12-19 17:10:13.400485", "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.005342", "end": "2025-12-19 20:10:13.520299", "msg": "", "rc": 0, "start": "2025-12-19 20:10:13.514957", "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.025556", "end": "2025-12-19 20:10:13.536221", "msg": "", "rc": 0, "start": "2025-12-19 20:10:13.510665", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020509", "end": "2025-12-19 20:10:14.667162", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.646653", "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.004385", "end": "2025-12-19 20:10:14.055363", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.050978", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004744", "end": "2025-12-19 20:10:14.074756", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.070012", "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.004294", "end": "2025-12-19 20:10:14.080080", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.075786", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004655", "end": "2025-12-19 20:10:14.116023", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.111368", "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.005590", "end": "2025-12-19 20:10:14.136486", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.130896", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003923", "end": "2025-12-19 20:09:45.729687", "msg": "", "rc": 0, "start": "2025-12-19 20:09:45.725764", "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.004627", "end": "2025-12-19 20:09:38.532445", "msg": "", "rc": 0, "start": "2025-12-19 20:09:38.527818", "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.012088", "end": "2025-12-19 20:10:14.743558", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.731470", "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.012099", "end": "2025-12-19 20:10:14.781230", "msg": "", "rc": 0, "start": "2025-12-19 20:10:14.769131", "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.005684", "end": "2025-12-19 20:10:15.014120", "msg": "", "rc": 0, "start": "2025-12-19 20:10:15.008436", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.003998", "end": "2025-12-19 20:09:41.721454", "msg": "", "rc": 0, "start": "2025-12-19 20:09:41.717456", "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.005343", "end": "2025-12-19 17:10:15.239037", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:10:15.233694", "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.005815", "end": "2025-12-19 20:09:49.060456", "msg": "", "rc": 0, "start": "2025-12-19 20:09:49.054641", "stderr": "", "stderr_lines": [], "stdout": "57.7%", "stdout_lines": ["57.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.005471", "end": "2025-12-19 20:10:15.431938", "msg": "", "rc": 0, "start": "2025-12-19 20:10:15.426467", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.009848", "end": "2025-12-19 20:10:16.695511", "msg": "", "rc": 0, "start": "2025-12-19 20:10:16.685663", "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.026158", "end": "2025-12-19 20:10:15.439539", "msg": "", "rc": 0, "start": "2025-12-19 20:10:15.413381", "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.005516", "end": "2025-12-19 20:10:15.955297", "msg": "", "rc": 0, "start": "2025-12-19 20:10:15.949781", "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.004783", "end": "2025-12-19 20:10:15.969734", "msg": "", "rc": 0, "start": "2025-12-19 20:10:15.964951", "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.005512", "end": "2025-12-19 20:10:15.976680", "msg": "", "rc": 0, "start": "2025-12-19 20:10:15.971168", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003366", "end": "2025-12-19 20:10:16.009332", "msg": "", "rc": 0, "start": "2025-12-19 20:10:16.005966", "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.006342", "end": "2025-12-19 20:10:16.010844", "msg": "", "rc": 0, "start": "2025-12-19 20:10:16.004502", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002603", "end": "2025-12-19 20:09:47.635196", "msg": "", "rc": 0, "start": "2025-12-19 20:09:47.632593", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003107", "end": "2025-12-19 20:09:40.416677", "msg": "", "rc": 0, "start": "2025-12-19 20:09:40.413570", "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.011970", "end": "2025-12-19 20:10:16.636841", "msg": "", "rc": 0, "start": "2025-12-19 20:10:16.624871", "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.013114", "end": "2025-12-19 20:10:16.674141", "msg": "", "rc": 0, "start": "2025-12-19 20:10:16.661027", "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-19 20:10:16.906442", "msg": "", "rc": 0, "start": "2025-12-19 20:10:16.903293", "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.002658", "end": "2025-12-19 20:09:43.567768", "msg": "", "rc": 0, "start": "2025-12-19 20:09:43.565110", "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.003900", "end": "2025-12-19 17:10:17.118357", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.114457", "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.002741", "end": "2025-12-19 20:09:50.920111", "msg": "", "rc": 0, "start": "2025-12-19 20:09:50.917370", "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.003061", "end": "2025-12-19 20:10:17.326076", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.323015", "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.004739", "end": "2025-12-19 20:10:18.734952", "msg": "", "rc": 0, "start": "2025-12-19 20:10:18.730213", "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.029041", "end": "2025-12-19 20:10:17.339422", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.310381", "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.004106", "end": "2025-12-19 20:10:17.858876", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.854770", "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.004148", "end": "2025-12-19 20:10:17.879121", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.874973", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.004848", "end": "2025-12-19 20:10:17.884136", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.879288", "stderr": "", "stderr_lines": [], "stdout": "1.09", "stdout_lines": ["1.09"]}
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.005475", "end": "2025-12-19 20:10:17.918839", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.913364", "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.005865", "end": "2025-12-19 20:10:17.921508", "msg": "", "rc": 0, "start": "2025-12-19 20:10:17.915643", "stderr": "", "stderr_lines": [], "stdout": "0.80", "stdout_lines": ["0.80"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004391", "end": "2025-12-19 20:09:49.550857", "msg": "", "rc": 0, "start": "2025-12-19 20:09:49.546466", "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.005579", "end": "2025-12-19 20:09:42.321427", "msg": "", "rc": 0, "start": "2025-12-19 20:09:42.315848", "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.010138", "end": "2025-12-19 20:10:18.645011", "msg": "", "rc": 0, "start": "2025-12-19 20:10:18.634873", "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.011110", "end": "2025-12-19 20:10:18.668546", "msg": "", "rc": 0, "start": "2025-12-19 20:10:18.657436", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.005776", "end": "2025-12-19 20:10:18.828107", "msg": "", "rc": 0, "start": "2025-12-19 20:10:18.822331", "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.005398", "end": "2025-12-19 20:09:45.492951", "msg": "", "rc": 0, "start": "2025-12-19 20:09:45.487553", "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.006456", "end": "2025-12-19 17:10:19.145577", "msg": "", "rc": 0, "start": "2025-12-19 17:10:19.139121", "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.004619", "end": "2025-12-19 20:09:52.957794", "msg": "", "rc": 0, "start": "2025-12-19 20:09:52.953175", "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.005440", "end": "2025-12-19 20:10:19.248428", "msg": "", "rc": 0, "start": "2025-12-19 20:10:19.242988", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007633", "end": "2025-12-19 20:10:20.841417", "msg": "", "rc": 0, "start": "2025-12-19 20:10:20.833784", "stderr": "", "stderr_lines": [], "stdout": "1.21", "stdout_lines": ["1.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024237", "end": "2025-12-19 20:10:19.236649", "msg": "", "rc": 0, "start": "2025-12-19 20:10:19.212412", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:09 up 10:54, 1 user, load average: 0.16, 0.15, 0.18\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.29\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:09 up 24 days, 7:01, 1 user, load average: 0.10, 0.12, 0.18\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:09 up 24 days, 7:21, 1 user, load average: 1.10, 1.04, 0.95\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.09\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:09 up 24 days, 8:34, 1 user, load average: 0.69, 0.60, 0.60\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.80\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:09 up 24 days, 9:20, 1 user, load average: 0.01, 0.02, 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: 20:10:11 up 17 days, 9:36, 1 user, load average: 0.14, 0.12, 0.11\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.21\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:10 up 196 days, 11:43, 1 user, load average: 0.45, 0.26, 0.21\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.50\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:10 up 196 days, 11:43, 1 user, load average: 0.26, 0.22, 0.15\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.24\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:09:42 up 13 days, 7:59, 0 user, load average: 0.15, 0.16, 0.11\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:09:35 up 20 days, 4:11, 0 user, load average: 0.10, 0.07, 0.01\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:11 up 10:53, 1 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:09:37 up 22 days, 23:03, 0 user, load average: 0.53, 0.51, 0.50\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: 20:09:45 up 19 days, 9:25, 0 user, load average: 0.28, 0.37, 0.37\nDisk Usage: 76%\nMemory Usage: 57.7%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:10PM up 24 days, 6:59, 1 user, load averages: 0.14, 0.19, 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: 20:10:11 up 10:53, 1 user, load average: 0.14, 0.05, 0.03\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:10:12 up 6:37, 1 user, load average: 1.15, 1.11, 1.13\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.21\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-20T01:10:21.875495+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `66792bad4d0944c7bd6fd899af07578b` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:15:00.003879+00:00 |
| **Fin** | 2025-12-20T01:15:24.548698+00:00 |
| **Durée** | 24.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: [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.003268", "end": "2025-12-19 20:15:12.032333", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.029065", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 24 days, 7:06, 1 user, load average: 0.11, 0.11, 0.16", "stdout_lines": [" 20:15:12 up 24 days, 7:06, 1 user, load average: 0.11, 0.11, 0.16"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003483", "end": "2025-12-19 20:15:12.046561", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.043078", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 24 days, 9:25, 1 user, load average: 0.17, 0.08, 0.01", "stdout_lines": [" 20:15:12 up 24 days, 9:25, 1 user, load average: 0.17, 0.08, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003312", "end": "2025-12-19 20:15:12.046562", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.043250", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 24 days, 7:26, 1 user, load average: 0.86, 1.06, 0.99", "stdout_lines": [" 20:15:12 up 24 days, 7:26, 1 user, load average: 0.86, 1.06, 0.99"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002896", "end": "2025-12-19 20:15:12.076195", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.073299", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 10:59, 1 user, load average: 0.20, 0.14, 0.17", "stdout_lines": [" 20:15:12 up 10:59, 1 user, load average: 0.20, 0.14, 0.17"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004059", "end": "2025-12-19 20:15:12.077710", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.073651", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 24 days, 8:39, 1 user, load average: 0.70, 0.70, 0.64", "stdout_lines": [" 20:15:12 up 24 days, 8:39, 1 user, load average: 0.70, 0.70, 0.64"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002967", "end": "2025-12-19 20:14:43.701899", "msg": "", "rc": 0, "start": "2025-12-19 20:14:43.698932", "stderr": "", "stderr_lines": [], "stdout": " 20:14:43 up 13 days, 8:04, 0 user, load average: 0.08, 0.10, 0.09", "stdout_lines": [" 20:14:43 up 13 days, 8:04, 0 user, load average: 0.08, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003697", "end": "2025-12-19 20:14:36.517278", "msg": "", "rc": 0, "start": "2025-12-19 20:14:36.513581", "stderr": "", "stderr_lines": [], "stdout": " 20:14:36 up 20 days, 4:16, 0 user, load average: 0.10, 0.05, 0.01", "stdout_lines": [" 20:14:36 up 20 days, 4:16, 0 user, load average: 0.10, 0.05, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008653", "end": "2025-12-19 20:15:12.712233", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.703580", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 196 days, 11:48, 1 user, load average: 0.12, 0.15, 0.14", "stdout_lines": [" 20:15:12 up 196 days, 11:48, 1 user, load average: 0.12, 0.15, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009575", "end": "2025-12-19 20:15:12.758885", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.749310", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 196 days, 11:48, 1 user, load average: 0.37, 0.23, 0.20", "stdout_lines": [" 20:15:12 up 196 days, 11:48, 1 user, load average: 0.37, 0.23, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004530", "end": "2025-12-19 20:15:12.994734", "msg": "", "rc": 0, "start": "2025-12-19 20:15:12.990204", "stderr": "", "stderr_lines": [], "stdout": " 20:15:12 up 10:58, 1 user, load average: 0.09, 0.08, 0.02", "stdout_lines": [" 20:15:12 up 10:58, 1 user, load average: 0.09, 0.08, 0.02"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003223", "end": "2025-12-19 20:14:46.986917", "msg": "", "rc": 0, "start": "2025-12-19 20:14:46.983694", "stderr": "", "stderr_lines": [], "stdout": " 20:14:46 up 19 days, 9:30, 0 user, load average: 0.43, 0.41, 0.38", "stdout_lines": [" 20:14:46 up 19 days, 9:30, 0 user, load average: 0.43, 0.41, 0.38"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004217", "end": "2025-12-19 17:15:13.208410", "msg": "", "rc": 0, "start": "2025-12-19 17:15:13.204193", "stderr": "", "stderr_lines": [], "stdout": " 5:15PM up 24 days, 7:05, 1 user, load averages: 0.26, 0.21, 0.18", "stdout_lines": [" 5:15PM up 24 days, 7:05, 1 user, load averages: 0.26, 0.21, 0.18"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003514", "end": "2025-12-19 20:14:39.729715", "msg": "", "rc": 0, "start": "2025-12-19 20:14:39.726201", "stderr": "", "stderr_lines": [], "stdout": " 20:14:39 up 22 days, 23:08, 0 user, load average: 0.41, 0.42, 0.45", "stdout_lines": [" 20:14:39 up 22 days, 23:08, 0 user, load average: 0.41, 0.42, 0.45"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003714", "end": "2025-12-19 20:15:13.409385", "msg": "", "rc": 0, "start": "2025-12-19 20:15:13.405671", "stderr": "", "stderr_lines": [], "stdout": " 20:15:13 up 10:58, 1 user, load average: 0.01, 0.04, 0.02", "stdout_lines": [" 20:15:13 up 10:58, 1 user, load average: 0.01, 0.04, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.016512", "end": "2025-12-19 20:15:15.164327", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.147815", "stderr": "", "stderr_lines": [], "stdout": " 20:15:15 up 6:43, 1 user, load average: 1.20, 1.09, 1.10", "stdout_lines": [" 20:15:15 up 6:43, 1 user, load average: 1.20, 1.09, 1.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020365", "end": "2025-12-19 20:15:13.436948", "msg": "", "rc": 0, "start": "2025-12-19 20:15:13.416583", "stderr": "", "stderr_lines": [], "stdout": " 20:15:13 up 17 days, 9:41, 1 user, load average: 0.27, 0.14, 0.10", "stdout_lines": [" 20:15:13 up 17 days, 9:41, 1 user, load average: 0.27, 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.004329", "end": "2025-12-19 20:15:13.958204", "msg": "", "rc": 0, "start": "2025-12-19 20:15:13.953875", "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.004087", "end": "2025-12-19 20:15:13.981290", "msg": "", "rc": 0, "start": "2025-12-19 20:15:13.977203", "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-19 20:15:13.990156", "msg": "", "rc": 0, "start": "2025-12-19 20:15:13.985569", "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.004931", "end": "2025-12-19 20:15:14.009280", "msg": "", "rc": 0, "start": "2025-12-19 20:15:14.004349", "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.005914", "end": "2025-12-19 20:15:14.033649", "msg": "", "rc": 0, "start": "2025-12-19 20:15:14.027735", "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.005296", "end": "2025-12-19 20:14:45.635584", "msg": "", "rc": 0, "start": "2025-12-19 20:14:45.630288", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005721", "end": "2025-12-19 20:14:38.439559", "msg": "", "rc": 0, "start": "2025-12-19 20:14:38.433838", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010494", "end": "2025-12-19 20:15:14.680264", "msg": "", "rc": 0, "start": "2025-12-19 20:15:14.669770", "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.011545", "end": "2025-12-19 20:15:14.723954", "msg": "", "rc": 0, "start": "2025-12-19 20:15:14.712409", "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.005710", "end": "2025-12-19 20:15:14.925078", "msg": "", "rc": 0, "start": "2025-12-19 20:15:14.919368", "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.005369", "end": "2025-12-19 20:14:41.607076", "msg": "", "rc": 0, "start": "2025-12-19 20:14:41.601707", "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.005338", "end": "2025-12-19 17:15:15.185227", "msg": "", "rc": 0, "start": "2025-12-19 17:15:15.179889", "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.004874", "end": "2025-12-19 20:14:49.001164", "msg": "", "rc": 0, "start": "2025-12-19 20:14:48.996290", "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.005289", "end": "2025-12-19 20:15:15.354272", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.348983", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018937", "end": "2025-12-19 20:15:17.262977", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.244040", "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.026430", "end": "2025-12-19 20:15:15.353437", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.327007", "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.004465", "end": "2025-12-19 20:15:15.883060", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.878595", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004247", "end": "2025-12-19 20:15:15.882254", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.878007", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004804", "end": "2025-12-19 20:15:15.903644", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.898840", "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.005086", "end": "2025-12-19 20:15:15.934957", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.929871", "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.005750", "end": "2025-12-19 20:15:15.923884", "msg": "", "rc": 0, "start": "2025-12-19 20:15:15.918134", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004492", "end": "2025-12-19 20:14:47.608707", "msg": "", "rc": 0, "start": "2025-12-19 20:14:47.604215", "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.004845", "end": "2025-12-19 20:14:40.368623", "msg": "", "rc": 0, "start": "2025-12-19 20:14:40.363778", "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.010926", "end": "2025-12-19 20:15:16.575604", "msg": "", "rc": 0, "start": "2025-12-19 20:15:16.564678", "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.011913", "end": "2025-12-19 20:15:16.626482", "msg": "", "rc": 0, "start": "2025-12-19 20:15:16.614569", "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.005691", "end": "2025-12-19 20:15:16.910738", "msg": "", "rc": 0, "start": "2025-12-19 20:15:16.905047", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004380", "end": "2025-12-19 20:14:43.547928", "msg": "", "rc": 0, "start": "2025-12-19 20:14:43.543548", "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.004257", "end": "2025-12-19 20:14:50.855748", "msg": "", "rc": 0, "start": "2025-12-19 20:14:50.851491", "stderr": "", "stderr_lines": [], "stdout": "56.4%", "stdout_lines": ["56.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.005240", "end": "2025-12-19 17:15:17.076385", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:15:17.071145", "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.005330", "end": "2025-12-19 20:15:17.342052", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.336722", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009726", "end": "2025-12-19 20:15:19.426665", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.416939", "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.026828", "end": "2025-12-19 20:15:17.289123", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.262295", "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.005476", "end": "2025-12-19 20:15:17.814441", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.808965", "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.004925", "end": "2025-12-19 20:15:17.820018", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.815093", "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.005619", "end": "2025-12-19 20:15:17.826810", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.821191", "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.003373", "end": "2025-12-19 20:15:17.857131", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.853758", "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.006376", "end": "2025-12-19 20:15:17.870151", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.863775", "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.002583", "end": "2025-12-19 20:14:49.483674", "msg": "", "rc": 0, "start": "2025-12-19 20:14:49.481091", "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.004040", "end": "2025-12-19 20:14:42.261851", "msg": "", "rc": 0, "start": "2025-12-19 20:14:42.257811", "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.012359", "end": "2025-12-19 20:15:18.491408", "msg": "", "rc": 0, "start": "2025-12-19 20:15:18.479049", "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.013000", "end": "2025-12-19 20:15:18.541160", "msg": "", "rc": 0, "start": "2025-12-19 20:15:18.528160", "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.003444", "end": "2025-12-19 20:15:18.777762", "msg": "", "rc": 0, "start": "2025-12-19 20:15:18.774318", "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.002852", "end": "2025-12-19 20:14:45.436869", "msg": "", "rc": 0, "start": "2025-12-19 20:14:45.434017", "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.002887", "end": "2025-12-19 20:14:52.776800", "msg": "", "rc": 0, "start": "2025-12-19 20:14:52.773913", "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.003814", "end": "2025-12-19 17:15:19.003891", "msg": "", "rc": 0, "start": "2025-12-19 17:15:19.000077", "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.002935", "end": "2025-12-19 20:15:19.200842", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.197907", "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.005122", "end": "2025-12-19 20:15:21.460488", "msg": "", "rc": 0, "start": "2025-12-19 20:15:21.455366", "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.030644", "end": "2025-12-19 20:15:19.210465", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.179821", "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.004051", "end": "2025-12-19 20:15:19.734992", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.730941", "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.004044", "end": "2025-12-19 20:15:19.764703", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.760659", "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.005029", "end": "2025-12-19 20:15:19.766804", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.761775", "stderr": "", "stderr_lines": [], "stdout": "0.88", "stdout_lines": ["0.88"]}
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.005066", "end": "2025-12-19 20:15:19.787883", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.782817", "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.005206", "end": "2025-12-19 20:15:19.787132", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.781926", "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.004339", "end": "2025-12-19 20:14:51.415544", "msg": "", "rc": 0, "start": "2025-12-19 20:14:51.411205", "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.005406", "end": "2025-12-19 20:14:44.198288", "msg": "", "rc": 0, "start": "2025-12-19 20:14:44.192882", "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.010120", "end": "2025-12-19 20:15:20.512111", "msg": "", "rc": 0, "start": "2025-12-19 20:15:20.501991", "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.011427", "end": "2025-12-19 20:15:20.547178", "msg": "", "rc": 0, "start": "2025-12-19 20:15:20.535751", "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.005459", "end": "2025-12-19 20:15:20.695730", "msg": "", "rc": 0, "start": "2025-12-19 20:15:20.690271", "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.005014", "end": "2025-12-19 20:14:47.362839", "msg": "", "rc": 0, "start": "2025-12-19 20:14:47.357825", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.004296", "end": "2025-12-19 20:14:54.801600", "msg": "", "rc": 0, "start": "2025-12-19 20:14:54.797304", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005967", "end": "2025-12-19 17:15:21.014103", "msg": "", "rc": 0, "start": "2025-12-19 17:15:21.008136", "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.005394", "end": "2025-12-19 20:15:21.120356", "msg": "", "rc": 0, "start": "2025-12-19 20:15:21.114962", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007924", "end": "2025-12-19 20:15:23.639226", "msg": "", "rc": 0, "start": "2025-12-19 20:15:23.631302", "stderr": "", "stderr_lines": [], "stdout": "1.34", "stdout_lines": ["1.34"]}
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.025251", "end": "2025-12-19 20:15:21.127703", "msg": "", "rc": 0, "start": "2025-12-19 20:15:21.102452", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 10:59, 1 user, load average: 0.20, 0.14, 0.17\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.18\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 24 days, 7:06, 1 user, load average: 0.11, 0.11, 0.16\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 24 days, 7:26, 1 user, load average: 0.86, 1.06, 0.99\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.88\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 24 days, 8:39, 1 user, load average: 0.70, 0.70, 0.64\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.74\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 24 days, 9:25, 1 user, load average: 0.17, 0.08, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:13 up 17 days, 9:41, 1 user, load average: 0.27, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.39\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 196 days, 11:48, 1 user, load average: 0.37, 0.23, 0.20\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.31\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 196 days, 11:48, 1 user, load average: 0.12, 0.15, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.11\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:14:43 up 13 days, 8:04, 0 user, load average: 0.08, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:14:36 up 20 days, 4:16, 0 user, load average: 0.10, 0.05, 0.01\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:14:39 up 22 days, 23:08, 0 user, load average: 0.41, 0.42, 0.45\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:12 up 10:58, 1 user, load average: 0.09, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:14:46 up 19 days, 9:30, 0 user, load average: 0.43, 0.41, 0.38\nDisk Usage: 76%\nMemory Usage: 56.4%\nCPU Load: 0.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:15PM up 24 days, 7:05, 1 user, load averages: 0.26, 0.21, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:13 up 10:58, 1 user, load average: 0.01, 0.04, 0.02\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:15:15 up 6:43, 1 user, load average: 1.20, 1.09, 1.10\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.34\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-20T01:15:24.611973+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e2c6cc0fd1774825a1345d65b6723529` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:20:00.005424+00:00 |
| **Fin** | 2025-12-20T01:20:21.703904+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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.003296", "end": "2025-12-19 20:20:11.086803", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.083507", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 24 days, 7:11, 1 user, load average: 0.11, 0.17, 0.17", "stdout_lines": [" 20:20:11 up 24 days, 7:11, 1 user, load average: 0.11, 0.17, 0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003238", "end": "2025-12-19 20:20:11.091971", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.088733", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 24 days, 7:31, 1 user, load average: 0.59, 0.82, 0.91", "stdout_lines": [" 20:20:11 up 24 days, 7:31, 1 user, load average: 0.59, 0.82, 0.91"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003461", "end": "2025-12-19 20:20:11.100876", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.097415", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 24 days, 9:30, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 20:20:11 up 24 days, 9:30, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003098", "end": "2025-12-19 20:20:11.126786", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.123688", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 11:04, 1 user, load average: 0.23, 0.18, 0.18", "stdout_lines": [" 20:20:11 up 11:04, 1 user, load average: 0.23, 0.18, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003710", "end": "2025-12-19 20:20:11.115991", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.112281", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 24 days, 8:44, 1 user, load average: 0.70, 0.61, 0.62", "stdout_lines": [" 20:20:11 up 24 days, 8:44, 1 user, load average: 0.70, 0.61, 0.62"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002867", "end": "2025-12-19 20:19:42.738773", "msg": "", "rc": 0, "start": "2025-12-19 20:19:42.735906", "stderr": "", "stderr_lines": [], "stdout": " 20:19:42 up 13 days, 8:09, 0 user, load average: 0.22, 0.16, 0.11", "stdout_lines": [" 20:19:42 up 13 days, 8:09, 0 user, load average: 0.22, 0.16, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007909", "end": "2025-12-19 20:19:35.534621", "msg": "", "rc": 0, "start": "2025-12-19 20:19:35.526712", "stderr": "", "stderr_lines": [], "stdout": " 20:19:35 up 20 days, 4:21, 0 user, load average: 0.11, 0.05, 0.01", "stdout_lines": [" 20:19:35 up 20 days, 4:21, 0 user, load average: 0.11, 0.05, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008464", "end": "2025-12-19 20:20:11.749619", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.741155", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 196 days, 11:53, 1 user, load average: 0.15, 0.15, 0.13", "stdout_lines": [" 20:20:11 up 196 days, 11:53, 1 user, load average: 0.15, 0.15, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009189", "end": "2025-12-19 20:20:11.797864", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.788675", "stderr": "", "stderr_lines": [], "stdout": " 20:20:11 up 196 days, 11:53, 1 user, load average: 0.28, 0.19, 0.18", "stdout_lines": [" 20:20:11 up 196 days, 11:53, 1 user, load average: 0.28, 0.19, 0.18"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002812", "end": "2025-12-19 20:19:46.010598", "msg": "", "rc": 0, "start": "2025-12-19 20:19:46.007786", "stderr": "", "stderr_lines": [], "stdout": " 20:19:46 up 19 days, 9:35, 0 user, load average: 0.32, 0.44, 0.40", "stdout_lines": [" 20:19:46 up 19 days, 9:35, 0 user, load average: 0.32, 0.44, 0.40"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003301", "end": "2025-12-19 20:19:38.719381", "msg": "", "rc": 0, "start": "2025-12-19 20:19:38.716080", "stderr": "", "stderr_lines": [], "stdout": " 20:19:38 up 22 days, 23:13, 0 user, load average: 0.57, 0.64, 0.54", "stdout_lines": [" 20:19:38 up 22 days, 23:13, 0 user, load average: 0.57, 0.64, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004165", "end": "2025-12-19 17:20:12.249456", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.245291", "stderr": "", "stderr_lines": [], "stdout": " 5:20PM up 24 days, 7:09, 1 user, load averages: 0.28, 0.26, 0.20", "stdout_lines": [" 5:20PM up 24 days, 7:09, 1 user, load averages: 0.28, 0.26, 0.20"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008199", "end": "2025-12-19 20:20:14.810213", "msg": "", "rc": 0, "start": "2025-12-19 20:20:14.802014", "stderr": "", "stderr_lines": [], "stdout": " 20:20:14 up 6:48, 1 user, load average: 1.27, 1.16, 1.12", "stdout_lines": [" 20:20:14 up 6:48, 1 user, load average: 1.27, 1.16, 1.12"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019975", "end": "2025-12-19 20:20:12.478388", "msg": "", "rc": 0, "start": "2025-12-19 20:20:12.458413", "stderr": "", "stderr_lines": [], "stdout": " 20:20:12 up 17 days, 9:46, 1 user, load average: 0.24, 0.16, 0.10", "stdout_lines": [" 20:20:12 up 17 days, 9:46, 1 user, load average: 0.24, 0.16, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003693", "end": "2025-12-19 20:20:12.673501", "msg": "", "rc": 0, "start": "2025-12-19 20:20:12.669808", "stderr": "", "stderr_lines": [], "stdout": " 20:20:12 up 11:03, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 20:20:12 up 11:03, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005871", "end": "2025-12-19 20:20:13.016171", "msg": "", "rc": 0, "start": "2025-12-19 20:20:12.010300", "stderr": "", "stderr_lines": [], "stdout": " 20:20:12 up 11:03, 1 user, load average: 0.04, 0.05, 0.01", "stdout_lines": [" 20:20:12 up 11:03, 1 user, load average: 0.04, 0.05, 0.01"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004251", "end": "2025-12-19 20:20:13.427658", "msg": "", "rc": 0, "start": "2025-12-19 20:20:13.423407", "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.004754", "end": "2025-12-19 20:20:13.452773", "msg": "", "rc": 0, "start": "2025-12-19 20:20:13.448019", "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.004100", "end": "2025-12-19 20:20:13.456189", "msg": "", "rc": 0, "start": "2025-12-19 20:20:13.452089", "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.004785", "end": "2025-12-19 20:20:13.490988", "msg": "", "rc": 0, "start": "2025-12-19 20:20:13.486203", "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.006070", "end": "2025-12-19 20:20:13.509437", "msg": "", "rc": 0, "start": "2025-12-19 20:20:13.503367", "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.004809", "end": "2025-12-19 20:19:45.107751", "msg": "", "rc": 0, "start": "2025-12-19 20:19:45.102942", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005656", "end": "2025-12-19 20:19:37.921852", "msg": "", "rc": 0, "start": "2025-12-19 20:19:37.916196", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010703", "end": "2025-12-19 20:20:14.222947", "msg": "", "rc": 0, "start": "2025-12-19 20:20:14.212244", "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.011637", "end": "2025-12-19 20:20:14.225122", "msg": "", "rc": 0, "start": "2025-12-19 20:20:14.213485", "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.005790", "end": "2025-12-19 20:20:14.390576", "msg": "", "rc": 0, "start": "2025-12-19 20:20:14.384786", "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.005322", "end": "2025-12-19 20:19:41.114497", "msg": "", "rc": 0, "start": "2025-12-19 20:19:41.109175", "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.005466", "end": "2025-12-19 17:20:14.680791", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.675325", "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.004658", "end": "2025-12-19 20:19:48.509202", "msg": "", "rc": 0, "start": "2025-12-19 20:19:48.504544", "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.005225", "end": "2025-12-19 20:20:14.808187", "msg": "", "rc": 0, "start": "2025-12-19 20:20:14.802962", "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.026218", "end": "2025-12-19 20:20:14.827643", "msg": "", "rc": 0, "start": "2025-12-19 20:20:14.801425", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020219", "end": "2025-12-19 20:20:17.451203", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.430984", "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.004210", "end": "2025-12-19 20:20:15.361749", "msg": "", "rc": 0, "start": "2025-12-19 20:20:15.357539", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.005220", "end": "2025-12-19 20:20:15.388991", "msg": "", "rc": 0, "start": "2025-12-19 20:20:15.383771", "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.004159", "end": "2025-12-19 20:20:15.394463", "msg": "", "rc": 0, "start": "2025-12-19 20:20:15.390304", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.005205", "end": "2025-12-19 20:20:15.416982", "msg": "", "rc": 0, "start": "2025-12-19 20:20:15.411777", "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.005865", "end": "2025-12-19 20:20:15.439937", "msg": "", "rc": 0, "start": "2025-12-19 20:20:15.434072", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003954", "end": "2025-12-19 20:19:47.040544", "msg": "", "rc": 0, "start": "2025-12-19 20:19:47.036590", "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.004311", "end": "2025-12-19 20:19:39.834707", "msg": "", "rc": 0, "start": "2025-12-19 20:19:39.830396", "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.010821", "end": "2025-12-19 20:20:16.060369", "msg": "", "rc": 0, "start": "2025-12-19 20:20:16.049548", "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.011839", "end": "2025-12-19 20:20:16.102613", "msg": "", "rc": 0, "start": "2025-12-19 20:20:16.090774", "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.005782", "end": "2025-12-19 20:20:16.327813", "msg": "", "rc": 0, "start": "2025-12-19 20:20:16.322031", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.005255", "end": "2025-12-19 20:19:42.989868", "msg": "", "rc": 0, "start": "2025-12-19 20:19:42.984613", "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.005192", "end": "2025-12-19 17:20:16.545541", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:20:16.540349", "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.004647", "end": "2025-12-19 20:19:50.347331", "msg": "", "rc": 0, "start": "2025-12-19 20:19:50.342684", "stderr": "", "stderr_lines": [], "stdout": "57.9%", "stdout_lines": ["57.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005271", "end": "2025-12-19 20:20:16.747101", "msg": "", "rc": 0, "start": "2025-12-19 20:20:16.741830", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008673", "end": "2025-12-19 20:20:19.475739", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.467066", "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.026365", "end": "2025-12-19 20:20:16.749571", "msg": "", "rc": 0, "start": "2025-12-19 20:20:16.723206", "stderr": "", "stderr_lines": [], "stdout": "17.8%", "stdout_lines": ["17.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.005299", "end": "2025-12-19 20:20:17.264161", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.258862", "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.004810", "end": "2025-12-19 20:20:17.299524", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.294714", "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.005580", "end": "2025-12-19 20:20:17.314329", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.308749", "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.003456", "end": "2025-12-19 20:20:17.324018", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.320562", "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.006645", "end": "2025-12-19 20:20:17.339832", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.333187", "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.002858", "end": "2025-12-19 20:19:48.951405", "msg": "", "rc": 0, "start": "2025-12-19 20:19:48.948547", "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.003079", "end": "2025-12-19 20:19:41.745900", "msg": "", "rc": 0, "start": "2025-12-19 20:19:41.742821", "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.011874", "end": "2025-12-19 20:20:17.979314", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.967440", "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.012998", "end": "2025-12-19 20:20:18.010232", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.997234", "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.003389", "end": "2025-12-19 20:20:18.233492", "msg": "", "rc": 0, "start": "2025-12-19 20:20:18.230103", "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.002853", "end": "2025-12-19 20:19:44.923440", "msg": "", "rc": 0, "start": "2025-12-19 20:19:44.920587", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003846", "end": "2025-12-19 17:20:18.464797", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.460951", "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.002634", "end": "2025-12-19 20:19:52.260762", "msg": "", "rc": 0, "start": "2025-12-19 20:19:52.258128", "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.002849", "end": "2025-12-19 20:20:18.652833", "msg": "", "rc": 0, "start": "2025-12-19 20:20:18.649984", "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.004905", "end": "2025-12-19 20:20:21.566834", "msg": "", "rc": 0, "start": "2025-12-19 20:20:21.561929", "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.029552", "end": "2025-12-19 20:20:18.664443", "msg": "", "rc": 0, "start": "2025-12-19 20:20:18.634891", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.004333", "end": "2025-12-19 20:20:19.193559", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.189226", "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.004193", "end": "2025-12-19 20:20:19.218531", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.214338", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.004763", "end": "2025-12-19 20:20:19.243880", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.239117", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004525", "end": "2025-12-19 20:20:19.270594", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.266069", "stderr": "", "stderr_lines": [], "stdout": "0.74", "stdout_lines": ["0.74"]}
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.005221", "end": "2025-12-19 20:20:19.271607", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.266386", "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.004785", "end": "2025-12-19 20:19:50.923097", "msg": "", "rc": 0, "start": "2025-12-19 20:19:50.918312", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005418", "end": "2025-12-19 20:19:43.695328", "msg": "", "rc": 0, "start": "2025-12-19 20:19:43.689910", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010214", "end": "2025-12-19 20:20:19.991789", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.981575", "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.011056", "end": "2025-12-19 20:20:20.009714", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.998658", "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.005512", "end": "2025-12-19 20:20:20.205777", "msg": "", "rc": 0, "start": "2025-12-19 20:20:20.200265", "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.004893", "end": "2025-12-19 20:19:46.864233", "msg": "", "rc": 0, "start": "2025-12-19 20:19:46.859340", "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.005728", "end": "2025-12-19 17:20:20.459047", "msg": "", "rc": 0, "start": "2025-12-19 17:20:20.453319", "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.004572", "end": "2025-12-19 20:19:54.268582", "msg": "", "rc": 0, "start": "2025-12-19 20:19:54.264010", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.005207", "end": "2025-12-19 20:20:20.618777", "msg": "", "rc": 0, "start": "2025-12-19 20:20:20.613570", "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.007676", "end": "2025-12-19 20:20:20.827210", "msg": "", "rc": 0, "start": "2025-12-19 20:20:20.819534", "stderr": "", "stderr_lines": [], "stdout": "1.91", "stdout_lines": ["1.91"]}
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.025357", "end": "2025-12-19 20:20:20.593468", "msg": "", "rc": 0, "start": "2025-12-19 20:20:20.568111", "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: 20:20:11 up 11:04, 1 user, load average: 0.23, 0.18, 0.18\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.21\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:11 up 24 days, 7:11, 1 user, load average: 0.11, 0.17, 0.17\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:11 up 24 days, 7:31, 1 user, load average: 0.59, 0.82, 0.91\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.74\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:11 up 24 days, 8:44, 1 user, load average: 0.70, 0.61, 0.62\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.67\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:11 up 24 days, 9:30, 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: 20:20:12 up 17 days, 9:46, 1 user, load average: 0.24, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 17.8%\nCPU Load: 0.36\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:11 up 196 days, 11:53, 1 user, load average: 0.28, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 13.4%\nCPU Load: 0.25\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:11 up 196 days, 11:53, 1 user, load average: 0.15, 0.15, 0.13\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.22\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:19:42 up 13 days, 8:09, 0 user, load average: 0.22, 0.16, 0.11\nDisk Usage: 50%\nMemory Usage: 71.2%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:19:35 up 20 days, 4:21, 0 user, load average: 0.11, 0.05, 0.01\nDisk Usage: 25%\nMemory Usage: 65.2%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:12 up 11:03, 1 user, load average: 0.04, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:19:38 up 22 days, 23:13, 0 user, load average: 0.57, 0.64, 0.54\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:19:46 up 19 days, 9:35, 0 user, load average: 0.32, 0.44, 0.40\nDisk Usage: 76%\nMemory Usage: 57.9%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:20PM up 24 days, 7:09, 1 user, load averages: 0.28, 0.26, 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: 20:20:12 up 11:03, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:20:14 up 6:48, 1 user, load average: 1.27, 1.16, 1.12\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.91\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-20T01:20:21.770828+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8b5bc33a7a72409182801007d6aa0bb4` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:25:00.001909+00:00 |
| **Fin** | 2025-12-20T01:25:21.425879+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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.003271", "end": "2025-12-19 20:25:10.619541", "msg": "", "rc": 0, "start": "2025-12-19 20:25:10.616270", "stderr": "", "stderr_lines": [], "stdout": " 20:25:10 up 24 days, 7:16, 1 user, load average: 0.19, 0.17, 0.17", "stdout_lines": [" 20:25:10 up 24 days, 7:16, 1 user, load average: 0.19, 0.17, 0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003251", "end": "2025-12-19 20:25:10.626114", "msg": "", "rc": 0, "start": "2025-12-19 20:25:10.622863", "stderr": "", "stderr_lines": [], "stdout": " 20:25:10 up 24 days, 7:36, 1 user, load average: 0.74, 0.76, 0.86", "stdout_lines": [" 20:25:10 up 24 days, 7:36, 1 user, load average: 0.74, 0.76, 0.86"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004283", "end": "2025-12-19 20:25:10.633624", "msg": "", "rc": 0, "start": "2025-12-19 20:25:10.629341", "stderr": "", "stderr_lines": [], "stdout": " 20:25:10 up 24 days, 9:35, 1 user, load average: 0.02, 0.03, 0.00", "stdout_lines": [" 20:25:10 up 24 days, 9:35, 1 user, load average: 0.02, 0.03, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002821", "end": "2025-12-19 20:25:10.662088", "msg": "", "rc": 0, "start": "2025-12-19 20:25:10.659267", "stderr": "", "stderr_lines": [], "stdout": " 20:25:10 up 11:09, 1 user, load average: 0.49, 0.32, 0.23", "stdout_lines": [" 20:25:10 up 11:09, 1 user, load average: 0.49, 0.32, 0.23"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004814", "end": "2025-12-19 20:25:10.660723", "msg": "", "rc": 0, "start": "2025-12-19 20:25:10.655909", "stderr": "", "stderr_lines": [], "stdout": " 20:25:10 up 24 days, 8:49, 1 user, load average: 0.56, 0.61, 0.62", "stdout_lines": [" 20:25:10 up 24 days, 8:49, 1 user, load average: 0.56, 0.61, 0.62"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002973", "end": "2025-12-19 20:24:42.355487", "msg": "", "rc": 0, "start": "2025-12-19 20:24:42.352514", "stderr": "", "stderr_lines": [], "stdout": " 20:24:42 up 13 days, 8:14, 0 user, load average: 0.08, 0.13, 0.09", "stdout_lines": [" 20:24:42 up 13 days, 8:14, 0 user, load average: 0.08, 0.13, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003724", "end": "2025-12-19 20:24:35.068069", "msg": "", "rc": 0, "start": "2025-12-19 20:24:35.064345", "stderr": "", "stderr_lines": [], "stdout": " 20:24:35 up 20 days, 4:26, 0 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 20:24:35 up 20 days, 4:26, 0 user, load average: 0.07, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008531", "end": "2025-12-19 20:25:11.292555", "msg": "", "rc": 0, "start": "2025-12-19 20:25:11.284024", "stderr": "", "stderr_lines": [], "stdout": " 20:25:11 up 196 days, 11:58, 1 user, load average: 0.34, 0.22, 0.17", "stdout_lines": [" 20:25:11 up 196 days, 11:58, 1 user, load average: 0.34, 0.22, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009295", "end": "2025-12-19 20:25:11.335452", "msg": "", "rc": 0, "start": "2025-12-19 20:25:11.326157", "stderr": "", "stderr_lines": [], "stdout": " 20:25:11 up 196 days, 11:58, 1 user, load average: 0.45, 0.26, 0.20", "stdout_lines": [" 20:25:11 up 196 days, 11:58, 1 user, load average: 0.45, 0.26, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004406", "end": "2025-12-19 20:25:11.684753", "msg": "", "rc": 0, "start": "2025-12-19 20:25:11.680347", "stderr": "", "stderr_lines": [], "stdout": " 20:25:11 up 11:08, 1 user, load average: 0.21, 0.11, 0.03", "stdout_lines": [" 20:25:11 up 11:08, 1 user, load average: 0.21, 0.11, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003053", "end": "2025-12-19 20:24:38.289922", "msg": "", "rc": 0, "start": "2025-12-19 20:24:38.286869", "stderr": "", "stderr_lines": [], "stdout": " 20:24:38 up 22 days, 23:18, 0 user, load average: 0.36, 0.47, 0.49", "stdout_lines": [" 20:24:38 up 22 days, 23:18, 0 user, load average: 0.36, 0.47, 0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004200", "end": "2025-12-19 17:25:11.812676", "msg": "", "rc": 0, "start": "2025-12-19 17:25:11.808476", "stderr": "", "stderr_lines": [], "stdout": " 5:25PM up 24 days, 7:14, 1 user, load averages: 0.39, 0.33, 0.25", "stdout_lines": [" 5:25PM up 24 days, 7:14, 1 user, load averages: 0.39, 0.33, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002795", "end": "2025-12-19 20:24:45.647307", "msg": "", "rc": 0, "start": "2025-12-19 20:24:45.644512", "stderr": "", "stderr_lines": [], "stdout": " 20:24:45 up 19 days, 9:40, 0 user, load average: 1.02, 0.50, 0.42", "stdout_lines": [" 20:24:45 up 19 days, 9:40, 0 user, load average: 1.02, 0.50, 0.42"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008595", "end": "2025-12-19 20:25:14.979589", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.970994", "stderr": "", "stderr_lines": [], "stdout": " 20:25:14 up 6:54, 1 user, load average: 1.57, 1.30, 1.20", "stdout_lines": [" 20:25:14 up 6:54, 1 user, load average: 1.57, 1.30, 1.20"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003776", "end": "2025-12-19 20:25:12.132588", "msg": "", "rc": 0, "start": "2025-12-19 20:25:12.128812", "stderr": "", "stderr_lines": [], "stdout": " 20:25:12 up 11:08, 1 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 20:25:12 up 11:08, 1 user, load average: 0.07, 0.03, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020176", "end": "2025-12-19 20:25:12.015817", "msg": "", "rc": 0, "start": "2025-12-19 20:25:11.995641", "stderr": "", "stderr_lines": [], "stdout": " 20:25:12 up 17 days, 9:51, 1 user, load average: 0.23, 0.19, 0.12", "stdout_lines": [" 20:25:12 up 17 days, 9:51, 1 user, load average: 0.23, 0.19, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004271", "end": "2025-12-19 20:25:12.545432", "msg": "", "rc": 0, "start": "2025-12-19 20:25:12.541161", "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.004111", "end": "2025-12-19 20:25:12.563335", "msg": "", "rc": 0, "start": "2025-12-19 20:25:12.559224", "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.004523", "end": "2025-12-19 20:25:12.577707", "msg": "", "rc": 0, "start": "2025-12-19 20:25:12.573184", "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.004327", "end": "2025-12-19 20:25:12.599922", "msg": "", "rc": 0, "start": "2025-12-19 20:25:12.595595", "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.005405", "end": "2025-12-19 20:25:12.605614", "msg": "", "rc": 0, "start": "2025-12-19 20:25:12.600209", "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.005126", "end": "2025-12-19 20:24:44.225976", "msg": "", "rc": 0, "start": "2025-12-19 20:24:44.220850", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005599", "end": "2025-12-19 20:24:37.013568", "msg": "", "rc": 0, "start": "2025-12-19 20:24:37.007969", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010614", "end": "2025-12-19 20:25:13.285402", "msg": "", "rc": 0, "start": "2025-12-19 20:25:13.274788", "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.013062", "end": "2025-12-19 20:25:13.324066", "msg": "", "rc": 0, "start": "2025-12-19 20:25:13.311004", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005686", "end": "2025-12-19 20:25:13.525595", "msg": "", "rc": 0, "start": "2025-12-19 20:25:13.519909", "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.006214", "end": "2025-12-19 20:24:40.246102", "msg": "", "rc": 0, "start": "2025-12-19 20:24:40.239888", "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.005445", "end": "2025-12-19 17:25:13.782817", "msg": "", "rc": 0, "start": "2025-12-19 17:25:13.777372", "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.005110", "end": "2025-12-19 20:24:47.579894", "msg": "", "rc": 0, "start": "2025-12-19 20:24:47.574784", "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.005253", "end": "2025-12-19 20:25:13.958151", "msg": "", "rc": 0, "start": "2025-12-19 20:25:13.952898", "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.026119", "end": "2025-12-19 20:25:13.939418", "msg": "", "rc": 0, "start": "2025-12-19 20:25:13.913299", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022757", "end": "2025-12-19 20:25:14.234355", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.211598", "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.004328", "end": "2025-12-19 20:25:14.472910", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.468582", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004275", "end": "2025-12-19 20:25:14.501616", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.497341", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004494", "end": "2025-12-19 20:25:14.531839", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.527345", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.2%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004557", "end": "2025-12-19 20:25:14.536614", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.532057", "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.005813", "end": "2025-12-19 20:25:14.568103", "msg": "", "rc": 0, "start": "2025-12-19 20:25:14.562290", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004749", "end": "2025-12-19 20:24:46.161542", "msg": "", "rc": 0, "start": "2025-12-19 20:24:46.156793", "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.005216", "end": "2025-12-19 20:24:38.975816", "msg": "", "rc": 0, "start": "2025-12-19 20:24:38.970600", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.010855", "end": "2025-12-19 20:25:15.173970", "msg": "", "rc": 0, "start": "2025-12-19 20:25:15.163115", "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.012058", "end": "2025-12-19 20:25:15.200356", "msg": "", "rc": 0, "start": "2025-12-19 20:25:15.188298", "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.005774", "end": "2025-12-19 20:25:15.475555", "msg": "", "rc": 0, "start": "2025-12-19 20:25:15.469781", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.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.005114", "end": "2025-12-19 17:25:15.661417", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:25:15.656303", "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.004821", "end": "2025-12-19 20:24:42.174456", "msg": "", "rc": 0, "start": "2025-12-19 20:24:42.169635", "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.004237", "end": "2025-12-19 20:24:49.481925", "msg": "", "rc": 0, "start": "2025-12-19 20:24:49.477688", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005412", "end": "2025-12-19 20:25:15.908271", "msg": "", "rc": 0, "start": "2025-12-19 20:25:15.902859", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009505", "end": "2025-12-19 20:25:16.294859", "msg": "", "rc": 0, "start": "2025-12-19 20:25:16.285354", "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.027023", "end": "2025-12-19 20:25:15.878685", "msg": "", "rc": 0, "start": "2025-12-19 20:25:15.851662", "stderr": "", "stderr_lines": [], "stdout": "17.9%", "stdout_lines": ["17.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.005437", "end": "2025-12-19 20:25:16.397117", "msg": "", "rc": 0, "start": "2025-12-19 20:25:16.391680", "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.004834", "end": "2025-12-19 20:25:16.432555", "msg": "", "rc": 0, "start": "2025-12-19 20:25:16.427721", "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.005640", "end": "2025-12-19 20:25:16.436592", "msg": "", "rc": 0, "start": "2025-12-19 20:25:16.430952", "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.003541", "end": "2025-12-19 20:25:16.453292", "msg": "", "rc": 0, "start": "2025-12-19 20:25:16.449751", "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.007201", "end": "2025-12-19 20:25:16.488428", "msg": "", "rc": 0, "start": "2025-12-19 20:25:16.481227", "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.002650", "end": "2025-12-19 20:24:48.086721", "msg": "", "rc": 0, "start": "2025-12-19 20:24:48.084071", "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.005368", "end": "2025-12-19 20:24:40.904148", "msg": "", "rc": 0, "start": "2025-12-19 20:24:40.898780", "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-19 20:25:17.108876", "msg": "", "rc": 0, "start": "2025-12-19 20:25:17.096953", "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.012976", "end": "2025-12-19 20:25:17.152265", "msg": "", "rc": 0, "start": "2025-12-19 20:25:17.139289", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003152", "end": "2025-12-19 20:25:17.363389", "msg": "", "rc": 0, "start": "2025-12-19 20:25:17.360237", "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.003018", "end": "2025-12-19 20:24:44.092047", "msg": "", "rc": 0, "start": "2025-12-19 20:24:44.089029", "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.002491", "end": "2025-12-19 20:24:51.388168", "msg": "", "rc": 0, "start": "2025-12-19 20:24:51.385677", "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.003918", "end": "2025-12-19 17:25:17.631294", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.627376", "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.002942", "end": "2025-12-19 20:25:17.797354", "msg": "", "rc": 0, "start": "2025-12-19 20:25:17.794412", "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.005151", "end": "2025-12-19 20:25:18.411450", "msg": "", "rc": 0, "start": "2025-12-19 20:25:18.406299", "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.029547", "end": "2025-12-19 20:25:17.793776", "msg": "", "rc": 0, "start": "2025-12-19 20:25:17.764229", "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.004246", "end": "2025-12-19 20:25:18.320386", "msg": "", "rc": 0, "start": "2025-12-19 20:25:18.316140", "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.005233", "end": "2025-12-19 20:25:18.340477", "msg": "", "rc": 0, "start": "2025-12-19 20:25:18.335244", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
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.004076", "end": "2025-12-19 20:25:18.345224", "msg": "", "rc": 0, "start": "2025-12-19 20:25:18.341148", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005380", "end": "2025-12-19 20:25:18.381345", "msg": "", "rc": 0, "start": "2025-12-19 20:25:18.375965", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005732", "end": "2025-12-19 20:25:18.388498", "msg": "", "rc": 0, "start": "2025-12-19 20:25:18.382766", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
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.004890", "end": "2025-12-19 20:24:49.990868", "msg": "", "rc": 0, "start": "2025-12-19 20:24:49.985978", "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.005405", "end": "2025-12-19 20:24:42.794378", "msg": "", "rc": 0, "start": "2025-12-19 20:24:42.788973", "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.010123", "end": "2025-12-19 20:25:19.078215", "msg": "", "rc": 0, "start": "2025-12-19 20:25:19.068092", "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.011152", "end": "2025-12-19 20:25:19.105210", "msg": "", "rc": 0, "start": "2025-12-19 20:25:19.094058", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005561", "end": "2025-12-19 20:25:19.293607", "msg": "", "rc": 0, "start": "2025-12-19 20:25:19.288046", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
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.004776", "end": "2025-12-19 20:24:45.978994", "msg": "", "rc": 0, "start": "2025-12-19 20:24:45.974218", "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.005949", "end": "2025-12-19 17:25:19.559453", "msg": "", "rc": 0, "start": "2025-12-19 17:25:19.553504", "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.004254", "end": "2025-12-19 20:24:53.349924", "msg": "", "rc": 0, "start": "2025-12-19 20:24:53.345670", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
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.005249", "end": "2025-12-19 20:25:19.696637", "msg": "", "rc": 0, "start": "2025-12-19 20:25:19.691388", "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.009679", "end": "2025-12-19 20:25:20.499265", "msg": "", "rc": 0, "start": "2025-12-19 20:25:20.489586", "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.025073", "end": "2025-12-19 20:25:19.708122", "msg": "", "rc": 0, "start": "2025-12-19 20:25:19.683049", "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: 20:25:10 up 24 days, 7:16, 1 user, load average: 0.19, 0.17, 0.17\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:10 up 11:09, 1 user, load average: 0.49, 0.32, 0.23\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.62\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:10 up 24 days, 7:36, 1 user, load average: 0.74, 0.76, 0.86\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.68\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:10 up 24 days, 8:49, 1 user, load average: 0.56, 0.61, 0.62\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.55\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:10 up 24 days, 9:35, 1 user, load average: 0.02, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:12 up 17 days, 9:51, 1 user, load average: 0.23, 0.19, 0.12\nDisk Usage: 21%\nMemory Usage: 17.9%\nCPU Load: 0.30\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:11 up 196 days, 11:58, 1 user, load average: 0.45, 0.26, 0.20\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.50\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:11 up 196 days, 11:58, 1 user, load average: 0.34, 0.22, 0.17\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.32\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:24:42 up 13 days, 8:14, 0 user, load average: 0.08, 0.13, 0.09\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:24:35 up 20 days, 4:26, 0 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:11 up 11:08, 1 user, load average: 0.21, 0.11, 0.03\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:24:45 up 19 days, 9:40, 0 user, load average: 1.02, 0.50, 0.42\nDisk Usage: 76%\nMemory Usage: 58.9%\nCPU Load: 0.94\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:25PM up 24 days, 7:14, 1 user, load averages: 0.39, 0.33, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:24:38 up 22 days, 23:18, 0 user, load average: 0.36, 0.47, 0.49\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:12 up 11:08, 1 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:25:14 up 6:54, 1 user, load average: 1.57, 1.30, 1.20\nDisk Usage: 1%\nMemory Usage: 12.7%\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-20T01:25:21.485470+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `b500da8b48544792a8802290124143d0` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:30:00.009405+00:00 |
| **Fin** | 2025-12-20T01:30:21.806199+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: [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.003349", "end": "2025-12-19 20:30:10.185369", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.182020", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 24 days, 7:21, 1 user, load average: 0.00, 0.06, 0.12", "stdout_lines": [" 20:30:10 up 24 days, 7:21, 1 user, load average: 0.00, 0.06, 0.12"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004039", "end": "2025-12-19 20:30:10.188317", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.184278", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 24 days, 9:40, 1 user, load average: 0.15, 0.09, 0.02", "stdout_lines": [" 20:30:10 up 24 days, 9:40, 1 user, load average: 0.15, 0.09, 0.02"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003428", "end": "2025-12-19 20:30:10.187181", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.183753", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 24 days, 7:41, 1 user, load average: 0.44, 0.60, 0.76", "stdout_lines": [" 20:30:10 up 24 days, 7:41, 1 user, load average: 0.44, 0.60, 0.76"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004249", "end": "2025-12-19 20:30:10.206938", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.202689", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 24 days, 8:54, 1 user, load average: 0.96, 0.63, 0.62", "stdout_lines": [" 20:30:10 up 24 days, 8:54, 1 user, load average: 0.96, 0.63, 0.62"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002881", "end": "2025-12-19 20:30:10.217660", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.214779", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 11:14, 1 user, load average: 0.84, 0.41, 0.27", "stdout_lines": [" 20:30:10 up 11:14, 1 user, load average: 0.84, 0.41, 0.27"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002809", "end": "2025-12-19 20:29:41.833133", "msg": "", "rc": 0, "start": "2025-12-19 20:29:41.830324", "stderr": "", "stderr_lines": [], "stdout": " 20:29:41 up 13 days, 8:19, 0 user, load average: 0.14, 0.12, 0.09", "stdout_lines": [" 20:29:41 up 13 days, 8:19, 0 user, load average: 0.14, 0.12, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003279", "end": "2025-12-19 20:29:34.634389", "msg": "", "rc": 0, "start": "2025-12-19 20:29:34.631110", "stderr": "", "stderr_lines": [], "stdout": " 20:29:34 up 20 days, 4:31, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 20:29:34 up 20 days, 4:31, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008562", "end": "2025-12-19 20:30:10.876271", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.867709", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 196 days, 12:03, 1 user, load average: 0.25, 0.17, 0.15", "stdout_lines": [" 20:30:10 up 196 days, 12:03, 1 user, load average: 0.25, 0.17, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009431", "end": "2025-12-19 20:30:10.891665", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.882234", "stderr": "", "stderr_lines": [], "stdout": " 20:30:10 up 196 days, 12:03, 1 user, load average: 0.30, 0.27, 0.21", "stdout_lines": [" 20:30:10 up 196 days, 12:03, 1 user, load average: 0.30, 0.27, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004878", "end": "2025-12-19 20:30:11.122720", "msg": "", "rc": 0, "start": "2025-12-19 20:30:11.117842", "stderr": "", "stderr_lines": [], "stdout": " 20:30:11 up 11:13, 1 user, load average: 0.03, 0.05, 0.01", "stdout_lines": [" 20:30:11 up 11:13, 1 user, load average: 0.03, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003281", "end": "2025-12-19 20:29:37.817296", "msg": "", "rc": 0, "start": "2025-12-19 20:29:37.814015", "stderr": "", "stderr_lines": [], "stdout": " 20:29:37 up 22 days, 23:23, 0 user, load average: 0.41, 0.43, 0.46", "stdout_lines": [" 20:29:37 up 22 days, 23:23, 0 user, load average: 0.41, 0.43, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004328", "end": "2025-12-19 17:30:11.353345", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.349017", "stderr": "", "stderr_lines": [], "stdout": " 5:30PM up 24 days, 7:19, 1 user, load averages: 0.17, 0.22, 0.22", "stdout_lines": [" 5:30PM up 24 days, 7:19, 1 user, load averages: 0.17, 0.22, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003324", "end": "2025-12-19 20:29:45.165210", "msg": "", "rc": 0, "start": "2025-12-19 20:29:45.161886", "stderr": "", "stderr_lines": [], "stdout": " 20:29:45 up 19 days, 9:45, 0 user, load average: 0.49, 0.36, 0.37", "stdout_lines": [" 20:29:45 up 19 days, 9:45, 0 user, load average: 0.49, 0.36, 0.37"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003702", "end": "2025-12-19 20:30:11.541175", "msg": "", "rc": 0, "start": "2025-12-19 20:30:11.537473", "stderr": "", "stderr_lines": [], "stdout": " 20:30:11 up 11:13, 1 user, load average: 0.14, 0.04, 0.01", "stdout_lines": [" 20:30:11 up 11:13, 1 user, load average: 0.14, 0.04, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007328", "end": "2025-12-19 20:30:12.284856", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.277528", "stderr": "", "stderr_lines": [], "stdout": " 20:30:12 up 6:59, 1 user, load average: 1.13, 1.15, 1.15", "stdout_lines": [" 20:30:12 up 6:59, 1 user, load average: 1.13, 1.15, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019850", "end": "2025-12-19 20:30:11.588923", "msg": "", "rc": 0, "start": "2025-12-19 20:30:11.569073", "stderr": "", "stderr_lines": [], "stdout": " 20:30:11 up 17 days, 9:56, 1 user, load average: 0.29, 0.18, 0.12", "stdout_lines": [" 20:30:11 up 17 days, 9:56, 1 user, load average: 0.29, 0.18, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004136", "end": "2025-12-19 20:30:12.108513", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.104377", "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.004364", "end": "2025-12-19 20:30:12.137993", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.133629", "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.004662", "end": "2025-12-19 20:30:12.138523", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.133861", "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.005826", "end": "2025-12-19 20:30:12.162379", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.156553", "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.004008", "end": "2025-12-19 20:30:12.166486", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.162478", "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.005357", "end": "2025-12-19 20:29:43.817663", "msg": "", "rc": 0, "start": "2025-12-19 20:29:43.812306", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005513", "end": "2025-12-19 20:29:36.608172", "msg": "", "rc": 0, "start": "2025-12-19 20:29:36.602659", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010553", "end": "2025-12-19 20:30:12.887638", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.877085", "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-19 20:30:12.928014", "msg": "", "rc": 0, "start": "2025-12-19 20:30:12.916391", "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.005673", "end": "2025-12-19 20:30:13.107419", "msg": "", "rc": 0, "start": "2025-12-19 20:30:13.101746", "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.005243", "end": "2025-12-19 20:29:39.773968", "msg": "", "rc": 0, "start": "2025-12-19 20:29:39.768725", "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.005358", "end": "2025-12-19 17:30:13.374760", "msg": "", "rc": 0, "start": "2025-12-19 17:30:13.369402", "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.005537", "end": "2025-12-19 20:29:47.182700", "msg": "", "rc": 0, "start": "2025-12-19 20:29:47.177163", "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.005549", "end": "2025-12-19 20:30:13.537496", "msg": "", "rc": 0, "start": "2025-12-19 20:30:13.531947", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021648", "end": "2025-12-19 20:30:14.377421", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.355773", "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.026112", "end": "2025-12-19 20:30:13.525462", "msg": "", "rc": 0, "start": "2025-12-19 20:30:13.499350", "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.004209", "end": "2025-12-19 20:30:14.047022", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.042813", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004252", "end": "2025-12-19 20:30:14.063676", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.059424", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004854", "end": "2025-12-19 20:30:14.081833", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.076979", "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.004693", "end": "2025-12-19 20:30:14.103849", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.099156", "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.005437", "end": "2025-12-19 20:30:14.113014", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.107577", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003545", "end": "2025-12-19 20:29:45.750418", "msg": "", "rc": 0, "start": "2025-12-19 20:29:45.746873", "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.004320", "end": "2025-12-19 20:29:38.532342", "msg": "", "rc": 0, "start": "2025-12-19 20:29:38.528022", "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.011239", "end": "2025-12-19 20:30:14.782529", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.771290", "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.011729", "end": "2025-12-19 20:30:14.816176", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.804447", "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.005860", "end": "2025-12-19 20:30:15.056527", "msg": "", "rc": 0, "start": "2025-12-19 20:30:15.050667", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.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.006405", "end": "2025-12-19 20:29:49.071412", "msg": "", "rc": 0, "start": "2025-12-19 20:29:49.065007", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.005137", "end": "2025-12-19 17:30:15.293422", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:30:15.288285", "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.005580", "end": "2025-12-19 20:29:41.778777", "msg": "", "rc": 0, "start": "2025-12-19 20:29:41.773197", "stderr": "", "stderr_lines": [], "stdout": "25.8%", "stdout_lines": ["25.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.005406", "end": "2025-12-19 20:30:15.470735", "msg": "", "rc": 0, "start": "2025-12-19 20:30:15.465329", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.009506", "end": "2025-12-19 20:30:16.560742", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.551236", "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.026244", "end": "2025-12-19 20:30:15.473918", "msg": "", "rc": 0, "start": "2025-12-19 20:30:15.447674", "stderr": "", "stderr_lines": [], "stdout": "17.9%", "stdout_lines": ["17.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.005247", "end": "2025-12-19 20:30:16.021992", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.016745", "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.004777", "end": "2025-12-19 20:30:16.042290", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.037513", "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.005933", "end": "2025-12-19 20:30:16.042944", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.037011", "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.003177", "end": "2025-12-19 20:30:16.073330", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.070153", "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.009587", "end": "2025-12-19 20:30:16.104504", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.094917", "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.003385", "end": "2025-12-19 20:29:47.725599", "msg": "", "rc": 0, "start": "2025-12-19 20:29:47.722214", "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.003414", "end": "2025-12-19 20:29:40.518488", "msg": "", "rc": 0, "start": "2025-12-19 20:29:40.515074", "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.011661", "end": "2025-12-19 20:30:16.729430", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.717769", "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.013121", "end": "2025-12-19 20:30:16.747978", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.734857", "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.003142", "end": "2025-12-19 20:30:17.031165", "msg": "", "rc": 0, "start": "2025-12-19 20:30:17.028023", "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.003878", "end": "2025-12-19 17:30:17.210598", "msg": "", "rc": 0, "start": "2025-12-19 17:30:17.206720", "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.003023", "end": "2025-12-19 20:29:51.016023", "msg": "", "rc": 0, "start": "2025-12-19 20:29:51.013000", "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.003120", "end": "2025-12-19 20:29:43.746388", "msg": "", "rc": 0, "start": "2025-12-19 20:29:43.743268", "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.003086", "end": "2025-12-19 20:30:17.461536", "msg": "", "rc": 0, "start": "2025-12-19 20:30:17.458450", "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-19 20:30:18.724742", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.720138", "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.029335", "end": "2025-12-19 20:30:17.444925", "msg": "", "rc": 0, "start": "2025-12-19 20:30:17.415590", "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.004086", "end": "2025-12-19 20:30:17.965567", "msg": "", "rc": 0, "start": "2025-12-19 20:30:17.961481", "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.003933", "end": "2025-12-19 20:30:17.984585", "msg": "", "rc": 0, "start": "2025-12-19 20:30:17.980652", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.004779", "end": "2025-12-19 20:30:18.012594", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.007815", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.005944", "end": "2025-12-19 20:30:18.021742", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.015798", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005707", "end": "2025-12-19 20:30:18.058950", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.053243", "stderr": "", "stderr_lines": [], "stdout": "0.97", "stdout_lines": ["0.97"]}
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.005366", "end": "2025-12-19 20:29:49.683101", "msg": "", "rc": 0, "start": "2025-12-19 20:29:49.677735", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.006039", "end": "2025-12-19 20:29:42.517283", "msg": "", "rc": 0, "start": "2025-12-19 20:29:42.511244", "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.010168", "end": "2025-12-19 20:30:18.803910", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.793742", "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.011109", "end": "2025-12-19 20:30:18.798385", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.787276", "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.005986", "end": "2025-12-19 20:30:18.973687", "msg": "", "rc": 0, "start": "2025-12-19 20:30:18.967701", "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.006113", "end": "2025-12-19 20:29:45.732876", "msg": "", "rc": 0, "start": "2025-12-19 20:29:45.726763", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.005890", "end": "2025-12-19 17:30:19.268856", "msg": "", "rc": 0, "start": "2025-12-19 17:30:19.262966", "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.005084", "end": "2025-12-19 20:29:53.151891", "msg": "", "rc": 0, "start": "2025-12-19 20:29:53.146807", "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.005326", "end": "2025-12-19 20:30:19.423912", "msg": "", "rc": 0, "start": "2025-12-19 20:30:19.418586", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.024818", "end": "2025-12-19 20:30:19.370000", "msg": "", "rc": 0, "start": "2025-12-19 20:30:19.345182", "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.009734", "end": "2025-12-19 20:30:20.928932", "msg": "", "rc": 0, "start": "2025-12-19 20:30:20.919198", "stderr": "", "stderr_lines": [], "stdout": "1.42", "stdout_lines": ["1.42"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 24 days, 7:21, 1 user, load average: 0.00, 0.06, 0.12\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 11:14, 1 user, load average: 0.84, 0.41, 0.27\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.77\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 24 days, 7:41, 1 user, load average: 0.44, 0.60, 0.76\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.49\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 24 days, 8:54, 1 user, load average: 0.96, 0.63, 0.62\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.97\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 24 days, 9:40, 1 user, load average: 0.15, 0.09, 0.02\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:11 up 17 days, 9:56, 1 user, load average: 0.29, 0.18, 0.12\nDisk Usage: 21%\nMemory Usage: 17.9%\nCPU Load: 0.27\nCPU Temp: 35.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 196 days, 12:03, 1 user, load average: 0.30, 0.27, 0.21\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.27\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:10 up 196 days, 12:03, 1 user, load average: 0.25, 0.17, 0.15\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.29\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:29:41 up 13 days, 8:19, 0 user, load average: 0.14, 0.12, 0.09\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:29:34 up 20 days, 4:31, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 25%\nMemory Usage: 65.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:11 up 11:13, 1 user, load average: 0.03, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:29:37 up 22 days, 23:23, 0 user, load average: 0.41, 0.43, 0.46\nDisk Usage: 28%\nMemory Usage: 25.8%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:29:45 up 19 days, 9:45, 0 user, load average: 0.49, 0.36, 0.37\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:30PM up 24 days, 7:19, 1 user, load averages: 0.17, 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: 20:30:11 up 11:13, 1 user, load average: 0.14, 0.04, 0.01\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:30:12 up 6:59, 1 user, load average: 1.13, 1.15, 1.15\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T01:30:21.864681+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `aec4b6a0db1a476b8f35027f40ee25fc` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:35:00.001874+00:00 |
| **Fin** | 2025-12-20T01:35:21.975941+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: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [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.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: [hp3.i5.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.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.003651", "end": "2025-12-19 20:35:09.501096", "msg": "", "rc": 0, "start": "2025-12-19 20:35:09.497445", "stderr": "", "stderr_lines": [], "stdout": " 20:35:09 up 24 days, 9:45, 1 user, load average: 0.03, 0.06, 0.01", "stdout_lines": [" 20:35:09 up 24 days, 9:45, 1 user, load average: 0.03, 0.06, 0.01"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003542", "end": "2025-12-19 20:35:09.499985", "msg": "", "rc": 0, "start": "2025-12-19 20:35:09.496443", "stderr": "", "stderr_lines": [], "stdout": " 20:35:09 up 24 days, 7:26, 1 user, load average: 0.01, 0.05, 0.09", "stdout_lines": [" 20:35:09 up 24 days, 7:26, 1 user, load average: 0.01, 0.05, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003154", "end": "2025-12-19 20:35:09.504414", "msg": "", "rc": 0, "start": "2025-12-19 20:35:09.501260", "stderr": "", "stderr_lines": [], "stdout": " 20:35:09 up 24 days, 7:46, 1 user, load average: 0.81, 0.60, 0.71", "stdout_lines": [" 20:35:09 up 24 days, 7:46, 1 user, load average: 0.81, 0.60, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003018", "end": "2025-12-19 20:35:09.527143", "msg": "", "rc": 0, "start": "2025-12-19 20:35:09.524125", "stderr": "", "stderr_lines": [], "stdout": " 20:35:09 up 11:19, 2 users, load average: 0.41, 0.30, 0.25", "stdout_lines": [" 20:35:09 up 11:19, 2 users, load average: 0.41, 0.30, 0.25"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004030", "end": "2025-12-19 20:35:09.526184", "msg": "", "rc": 0, "start": "2025-12-19 20:35:09.522154", "stderr": "", "stderr_lines": [], "stdout": " 20:35:09 up 24 days, 8:59, 1 user, load average: 0.72, 0.69, 0.64", "stdout_lines": [" 20:35:09 up 24 days, 8:59, 1 user, load average: 0.72, 0.69, 0.64"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003473", "end": "2025-12-19 20:34:41.170616", "msg": "", "rc": 0, "start": "2025-12-19 20:34:41.167143", "stderr": "", "stderr_lines": [], "stdout": " 20:34:41 up 13 days, 8:24, 0 user, load average: 0.07, 0.13, 0.10", "stdout_lines": [" 20:34:41 up 13 days, 8:24, 0 user, load average: 0.07, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003367", "end": "2025-12-19 20:34:33.947162", "msg": "", "rc": 0, "start": "2025-12-19 20:34:33.943795", "stderr": "", "stderr_lines": [], "stdout": " 20:34:33 up 20 days, 4:36, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 20:34:33 up 20 days, 4:36, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008403", "end": "2025-12-19 20:35:10.236315", "msg": "", "rc": 0, "start": "2025-12-19 20:35:10.227912", "stderr": "", "stderr_lines": [], "stdout": " 20:35:10 up 196 days, 12:08, 1 user, load average: 0.24, 0.15, 0.14", "stdout_lines": [" 20:35:10 up 196 days, 12:08, 1 user, load average: 0.24, 0.15, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009316", "end": "2025-12-19 20:35:10.322140", "msg": "", "rc": 0, "start": "2025-12-19 20:35:10.312824", "stderr": "", "stderr_lines": [], "stdout": " 20:35:10 up 196 days, 12:08, 1 user, load average: 0.21, 0.20, 0.19", "stdout_lines": [" 20:35:10 up 196 days, 12:08, 1 user, load average: 0.21, 0.20, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004485", "end": "2025-12-19 20:35:10.476026", "msg": "", "rc": 0, "start": "2025-12-19 20:35:10.471541", "stderr": "", "stderr_lines": [], "stdout": " 20:35:10 up 11:18, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 20:35:10 up 11:18, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003104", "end": "2025-12-19 20:34:37.129992", "msg": "", "rc": 0, "start": "2025-12-19 20:34:37.126888", "stderr": "", "stderr_lines": [], "stdout": " 20:34:37 up 22 days, 23:28, 0 user, load average: 0.40, 0.49, 0.47", "stdout_lines": [" 20:34:37 up 22 days, 23:28, 0 user, load average: 0.40, 0.49, 0.47"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003232", "end": "2025-12-19 20:34:44.541762", "msg": "", "rc": 0, "start": "2025-12-19 20:34:44.538530", "stderr": "", "stderr_lines": [], "stdout": " 20:34:44 up 19 days, 9:50, 0 user, load average: 0.11, 0.26, 0.32", "stdout_lines": [" 20:34:44 up 19 days, 9:50, 0 user, load average: 0.11, 0.26, 0.32"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004459", "end": "2025-12-19 17:35:10.795162", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.790703", "stderr": "", "stderr_lines": [], "stdout": " 5:35PM up 24 days, 7:24, 1 user, load averages: 0.20, 0.23, 0.22", "stdout_lines": [" 5:35PM up 24 days, 7:24, 1 user, load averages: 0.20, 0.23, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003640", "end": "2025-12-19 20:35:10.919301", "msg": "", "rc": 0, "start": "2025-12-19 20:35:10.915661", "stderr": "", "stderr_lines": [], "stdout": " 20:35:10 up 11:18, 1 user, load average: 0.07, 0.11, 0.04", "stdout_lines": [" 20:35:10 up 11:18, 1 user, load average: 0.07, 0.11, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.013089", "end": "2025-12-19 20:35:12.193958", "msg": "", "rc": 0, "start": "2025-12-19 20:35:12.180869", "stderr": "", "stderr_lines": [], "stdout": " 20:35:12 up 7:05, 1 user, load average: 1.37, 1.24, 1.19", "stdout_lines": [" 20:35:12 up 7:05, 1 user, load average: 1.37, 1.24, 1.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020115", "end": "2025-12-19 20:35:10.906427", "msg": "", "rc": 0, "start": "2025-12-19 20:35:10.886312", "stderr": "", "stderr_lines": [], "stdout": " 20:35:10 up 17 days, 10:01, 1 user, load average: 0.16, 0.13, 0.10", "stdout_lines": [" 20:35:10 up 17 days, 10:01, 1 user, load average: 0.16, 0.13, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004081", "end": "2025-12-19 20:35:11.451367", "msg": "", "rc": 0, "start": "2025-12-19 20:35:11.447286", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004393", "end": "2025-12-19 20:35:11.447772", "msg": "", "rc": 0, "start": "2025-12-19 20:35:11.443379", "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.004925", "end": "2025-12-19 20:35:11.473887", "msg": "", "rc": 0, "start": "2025-12-19 20:35:11.468962", "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.004799", "end": "2025-12-19 20:35:11.511506", "msg": "", "rc": 0, "start": "2025-12-19 20:35:11.506707", "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.005522", "end": "2025-12-19 20:35:11.505167", "msg": "", "rc": 0, "start": "2025-12-19 20:35:11.499645", "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.005073", "end": "2025-12-19 20:34:43.156055", "msg": "", "rc": 0, "start": "2025-12-19 20:34:43.150982", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-19 20:34:35.955780", "msg": "", "rc": 0, "start": "2025-12-19 20:34:35.950429", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.012195", "end": "2025-12-19 20:35:12.209792", "msg": "", "rc": 0, "start": "2025-12-19 20:35:12.197597", "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.010679", "end": "2025-12-19 20:35:12.237263", "msg": "", "rc": 0, "start": "2025-12-19 20:35:12.226584", "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.006333", "end": "2025-12-19 20:35:12.471398", "msg": "", "rc": 0, "start": "2025-12-19 20:35:12.465065", "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.005634", "end": "2025-12-19 20:34:39.149717", "msg": "", "rc": 0, "start": "2025-12-19 20:34:39.144083", "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.005626", "end": "2025-12-19 17:35:12.699567", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.693941", "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.004579", "end": "2025-12-19 20:34:46.503111", "msg": "", "rc": 0, "start": "2025-12-19 20:34:46.498532", "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.005632", "end": "2025-12-19 20:35:12.902761", "msg": "", "rc": 0, "start": "2025-12-19 20:35:12.897129", "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.025872", "end": "2025-12-19 20:35:12.884551", "msg": "", "rc": 0, "start": "2025-12-19 20:35:12.858679", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023981", "end": "2025-12-19 20:35:14.424855", "msg": "", "rc": 0, "start": "2025-12-19 20:35:14.400874", "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.004414", "end": "2025-12-19 20:35:13.434537", "msg": "", "rc": 0, "start": "2025-12-19 20:35:13.430123", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004112", "end": "2025-12-19 20:35:13.442715", "msg": "", "rc": 0, "start": "2025-12-19 20:35:13.438603", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.005294", "end": "2025-12-19 20:35:13.467927", "msg": "", "rc": 0, "start": "2025-12-19 20:35:13.462633", "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.004697", "end": "2025-12-19 20:35:13.480543", "msg": "", "rc": 0, "start": "2025-12-19 20:35:13.475846", "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.005925", "end": "2025-12-19 20:35:13.490061", "msg": "", "rc": 0, "start": "2025-12-19 20:35:13.484136", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003569", "end": "2025-12-19 20:34:45.108618", "msg": "", "rc": 0, "start": "2025-12-19 20:34:45.105049", "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.005204", "end": "2025-12-19 20:34:37.923813", "msg": "", "rc": 0, "start": "2025-12-19 20:34:37.918609", "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.010901", "end": "2025-12-19 20:35:14.136246", "msg": "", "rc": 0, "start": "2025-12-19 20:35:14.125345", "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-19 20:35:14.159949", "msg": "", "rc": 0, "start": "2025-12-19 20:35:14.147946", "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.005668", "end": "2025-12-19 20:35:14.419031", "msg": "", "rc": 0, "start": "2025-12-19 20:35:14.413363", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004031", "end": "2025-12-19 20:34:41.104340", "msg": "", "rc": 0, "start": "2025-12-19 20:34:41.100309", "stderr": "", "stderr_lines": [], "stdout": "28.1%", "stdout_lines": ["28.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.005089", "end": "2025-12-19 17:35:14.640257", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:35:14.635168", "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.003746", "end": "2025-12-19 20:34:48.434985", "msg": "", "rc": 0, "start": "2025-12-19 20:34:48.431239", "stderr": "", "stderr_lines": [], "stdout": "53.9%", "stdout_lines": ["53.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.005580", "end": "2025-12-19 20:35:14.853404", "msg": "", "rc": 0, "start": "2025-12-19 20:35:14.847824", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009859", "end": "2025-12-19 20:35:16.548622", "msg": "", "rc": 0, "start": "2025-12-19 20:35:16.538763", "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.026626", "end": "2025-12-19 20:35:14.848736", "msg": "", "rc": 0, "start": "2025-12-19 20:35:14.822110", "stderr": "", "stderr_lines": [], "stdout": "18.0%", "stdout_lines": ["18.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.005362", "end": "2025-12-19 20:35:15.384033", "msg": "", "rc": 0, "start": "2025-12-19 20:35:15.378671", "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.004797", "end": "2025-12-19 20:35:15.400996", "msg": "", "rc": 0, "start": "2025-12-19 20:35:15.396199", "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.005443", "end": "2025-12-19 20:35:15.399727", "msg": "", "rc": 0, "start": "2025-12-19 20:35:15.394284", "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.003001", "end": "2025-12-19 20:35:15.433998", "msg": "", "rc": 0, "start": "2025-12-19 20:35:15.430997", "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.006674", "end": "2025-12-19 20:35:15.451690", "msg": "", "rc": 0, "start": "2025-12-19 20:35:15.445016", "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.002586", "end": "2025-12-19 20:34:47.055913", "msg": "", "rc": 0, "start": "2025-12-19 20:34:47.053327", "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.003175", "end": "2025-12-19 20:34:39.831009", "msg": "", "rc": 0, "start": "2025-12-19 20:34:39.827834", "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.011877", "end": "2025-12-19 20:35:16.081601", "msg": "", "rc": 0, "start": "2025-12-19 20:35:16.069724", "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.013083", "end": "2025-12-19 20:35:16.223734", "msg": "", "rc": 0, "start": "2025-12-19 20:35:16.210651", "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.003115", "end": "2025-12-19 20:35:16.375903", "msg": "", "rc": 0, "start": "2025-12-19 20:35:16.372788", "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.002943", "end": "2025-12-19 20:34:43.093129", "msg": "", "rc": 0, "start": "2025-12-19 20:34:43.090186", "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.002991", "end": "2025-12-19 20:34:50.390358", "msg": "", "rc": 0, "start": "2025-12-19 20:34:50.387367", "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.004029", "end": "2025-12-19 17:35:16.702151", "msg": "", "rc": 0, "start": "2025-12-19 17:35:16.698122", "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.002855", "end": "2025-12-19 20:35:16.818148", "msg": "", "rc": 0, "start": "2025-12-19 20:35:16.815293", "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.029414", "end": "2025-12-19 20:35:16.792609", "msg": "", "rc": 0, "start": "2025-12-19 20:35:16.763195", "stderr": "", "stderr_lines": [], "stdout": "34.7°C", "stdout_lines": ["34.7°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005780", "end": "2025-12-19 20:35:18.774584", "msg": "", "rc": 0, "start": "2025-12-19 20:35:18.768804", "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.004073", "end": "2025-12-19 20:35:17.464020", "msg": "", "rc": 0, "start": "2025-12-19 20:35:17.459947", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004020", "end": "2025-12-19 20:35:17.471058", "msg": "", "rc": 0, "start": "2025-12-19 20:35:17.467038", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
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.004769", "end": "2025-12-19 20:35:17.470174", "msg": "", "rc": 0, "start": "2025-12-19 20:35:17.465405", "stderr": "", "stderr_lines": [], "stdout": "0.82", "stdout_lines": ["0.82"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005351", "end": "2025-12-19 20:35:17.516726", "msg": "", "rc": 0, "start": "2025-12-19 20:35:17.511375", "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.005867", "end": "2025-12-19 20:35:17.534786", "msg": "", "rc": 0, "start": "2025-12-19 20:35:17.528919", "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.004126", "end": "2025-12-19 20:34:49.158771", "msg": "", "rc": 0, "start": "2025-12-19 20:34:49.154645", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005262", "end": "2025-12-19 20:34:41.986728", "msg": "", "rc": 0, "start": "2025-12-19 20:34:41.981466", "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.011152", "end": "2025-12-19 20:35:18.214633", "msg": "", "rc": 0, "start": "2025-12-19 20:35:18.203481", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.009991", "end": "2025-12-19 20:35:18.244597", "msg": "", "rc": 0, "start": "2025-12-19 20:35:18.234606", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005608", "end": "2025-12-19 20:35:18.458139", "msg": "", "rc": 0, "start": "2025-12-19 20:35:18.452531", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005940", "end": "2025-12-19 17:35:18.689133", "msg": "", "rc": 0, "start": "2025-12-19 17:35:18.683193", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
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.005310", "end": "2025-12-19 20:34:45.185524", "msg": "", "rc": 0, "start": "2025-12-19 20:34:45.180214", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004405", "end": "2025-12-19 20:34:52.495562", "msg": "", "rc": 0, "start": "2025-12-19 20:34:52.491157", "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.005495", "end": "2025-12-19 20:35:18.906106", "msg": "", "rc": 0, "start": "2025-12-19 20:35:18.900611", "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.024968", "end": "2025-12-19 20:35:18.892837", "msg": "", "rc": 0, "start": "2025-12-19 20:35:18.867869", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.008546", "end": "2025-12-19 20:35:21.034418", "msg": "", "rc": 0, "start": "2025-12-19 20:35:21.025872", "stderr": "", "stderr_lines": [], "stdout": "1.42", "stdout_lines": ["1.42"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:09 up 24 days, 7:26, 1 user, load average: 0.01, 0.05, 0.09\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.01\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:09 up 11:19, 2 users, load average: 0.41, 0.30, 0.25\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.35\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:09 up 24 days, 7:46, 1 user, load average: 0.81, 0.60, 0.71\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.82\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:09 up 24 days, 8:59, 1 user, load average: 0.72, 0.69, 0.64\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.67\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:09 up 24 days, 9:45, 1 user, load average: 0.03, 0.06, 0.01\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: 20:35:10 up 196 days, 12:08, 1 user, load average: 0.21, 0.20, 0.19\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.26\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:10 up 17 days, 10:01, 1 user, load average: 0.16, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 18.0%\nCPU Load: 0.21\nCPU Temp: 34.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:10 up 196 days, 12:08, 1 user, load average: 0.24, 0.15, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.28\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:34:41 up 13 days, 8:24, 0 user, load average: 0.07, 0.13, 0.10\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:34:33 up 20 days, 4:36, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 25%\nMemory Usage: 65.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:10 up 11:18, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:34:37 up 22 days, 23:28, 0 user, load average: 0.40, 0.49, 0.47\nDisk Usage: 28%\nMemory Usage: 28.1%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:35PM up 24 days, 7:24, 1 user, load averages: 0.20, 0.23, 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: 20:34:44 up 19 days, 9:50, 0 user, load average: 0.11, 0.26, 0.32\nDisk Usage: 76%\nMemory Usage: 53.9%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:10 up 11:18, 1 user, load average: 0.07, 0.11, 0.04\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:35:12 up 7:05, 1 user, load average: 1.37, 1.24, 1.19\nDisk Usage: 1%\nMemory Usage: 12.8%\nCPU Load: 1.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T01:35:22.041424+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7574cea467c248bead9f660c94663a41` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:40:00.008067+00:00 |
| **Fin** | 2025-12-20T01:40:25.865626+00:00 |
| **Durée** | 25.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: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003341", "end": "2025-12-19 20:40:14.773463", "msg": "", "rc": 0, "start": "2025-12-19 20:40:14.770122", "stderr": "", "stderr_lines": [], "stdout": " 20:40:14 up 24 days, 7:51, 1 user, load average: 0.95, 0.70, 0.72", "stdout_lines": [" 20:40:14 up 24 days, 7:51, 1 user, load average: 0.95, 0.70, 0.72"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003797", "end": "2025-12-19 20:40:14.778578", "msg": "", "rc": 0, "start": "2025-12-19 20:40:14.774781", "stderr": "", "stderr_lines": [], "stdout": " 20:40:14 up 24 days, 9:50, 1 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 20:40:14 up 24 days, 9:50, 1 user, load average: 0.07, 0.04, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003975", "end": "2025-12-19 20:40:14.796058", "msg": "", "rc": 0, "start": "2025-12-19 20:40:14.792083", "stderr": "", "stderr_lines": [], "stdout": " 20:40:14 up 24 days, 9:04, 1 user, load average: 0.42, 0.59, 0.62", "stdout_lines": [" 20:40:14 up 24 days, 9:04, 1 user, load average: 0.42, 0.59, 0.62"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002798", "end": "2025-12-19 20:40:14.805028", "msg": "", "rc": 0, "start": "2025-12-19 20:40:14.802230", "stderr": "", "stderr_lines": [], "stdout": " 20:40:14 up 11:24, 2 users, load average: 0.31, 0.24, 0.22", "stdout_lines": [" 20:40:14 up 11:24, 2 users, load average: 0.31, 0.24, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003017", "end": "2025-12-19 20:39:46.437259", "msg": "", "rc": 0, "start": "2025-12-19 20:39:46.434242", "stderr": "", "stderr_lines": [], "stdout": " 20:39:46 up 13 days, 8:29, 0 user, load average: 0.59, 0.36, 0.18", "stdout_lines": [" 20:39:46 up 13 days, 8:29, 0 user, load average: 0.59, 0.36, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008399", "end": "2025-12-19 20:40:15.463419", "msg": "", "rc": 0, "start": "2025-12-19 20:40:15.455020", "stderr": "", "stderr_lines": [], "stdout": " 20:40:15 up 196 days, 12:13, 1 user, load average: 0.30, 0.19, 0.15", "stdout_lines": [" 20:40:15 up 196 days, 12:13, 1 user, load average: 0.30, 0.19, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009280", "end": "2025-12-19 20:40:15.502099", "msg": "", "rc": 0, "start": "2025-12-19 20:40:15.492819", "stderr": "", "stderr_lines": [], "stdout": " 20:40:15 up 196 days, 12:13, 1 user, load average: 0.18, 0.20, 0.18", "stdout_lines": [" 20:40:15 up 196 days, 12:13, 1 user, load average: 0.18, 0.20, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004513", "end": "2025-12-19 20:40:15.764542", "msg": "", "rc": 0, "start": "2025-12-19 20:40:14.760029", "stderr": "", "stderr_lines": [], "stdout": " 20:40:14 up 24 days, 7:31, 1 user, load average: 0.14, 0.10, 0.09", "stdout_lines": [" 20:40:14 up 24 days, 7:31, 1 user, load average: 0.14, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005801", "end": "2025-12-19 20:39:39.694870", "msg": "", "rc": 0, "start": "2025-12-19 20:39:39.689069", "stderr": "", "stderr_lines": [], "stdout": " 20:39:39 up 20 days, 4:41, 0 user, load average: 0.02, 0.01, 0.00", "stdout_lines": [" 20:39:39 up 20 days, 4:41, 0 user, load average: 0.02, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004636", "end": "2025-12-19 20:40:15.992501", "msg": "", "rc": 0, "start": "2025-12-19 20:40:15.987865", "stderr": "", "stderr_lines": [], "stdout": " 20:40:15 up 11:23, 1 user, load average: 0.08, 0.06, 0.01", "stdout_lines": [" 20:40:15 up 11:23, 1 user, load average: 0.08, 0.06, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003435", "end": "2025-12-19 20:39:42.628907", "msg": "", "rc": 0, "start": "2025-12-19 20:39:42.625472", "stderr": "", "stderr_lines": [], "stdout": " 20:39:42 up 22 days, 23:34, 0 user, load average: 0.57, 0.59, 0.53", "stdout_lines": [" 20:39:42 up 22 days, 23:34, 0 user, load average: 0.57, 0.59, 0.53"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002896", "end": "2025-12-19 20:39:50.011619", "msg": "", "rc": 0, "start": "2025-12-19 20:39:50.008723", "stderr": "", "stderr_lines": [], "stdout": " 20:39:50 up 19 days, 9:55, 0 user, load average: 0.46, 0.26, 0.29", "stdout_lines": [" 20:39:50 up 19 days, 9:55, 0 user, load average: 0.46, 0.26, 0.29"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004173", "end": "2025-12-19 17:40:16.293475", "msg": "", "rc": 0, "start": "2025-12-19 17:40:16.289302", "stderr": "", "stderr_lines": [], "stdout": " 5:40PM up 24 days, 7:30, 1 user, load averages: 0.22, 0.21, 0.21", "stdout_lines": [" 5:40PM up 24 days, 7:30, 1 user, load averages: 0.22, 0.21, 0.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019771", "end": "2025-12-19 20:40:16.178097", "msg": "", "rc": 0, "start": "2025-12-19 20:40:16.158326", "stderr": "", "stderr_lines": [], "stdout": " 20:40:16 up 17 days, 10:06, 1 user, load average: 0.16, 0.12, 0.09", "stdout_lines": [" 20:40:16 up 17 days, 10:06, 1 user, load average: 0.16, 0.12, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003731", "end": "2025-12-19 20:40:16.448853", "msg": "", "rc": 0, "start": "2025-12-19 20:40:16.445122", "stderr": "", "stderr_lines": [], "stdout": " 20:40:16 up 11:23, 1 user, load average: 0.00, 0.04, 0.01", "stdout_lines": [" 20:40:16 up 11:23, 1 user, load average: 0.00, 0.04, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.011283", "end": "2025-12-19 20:40:18.978836", "msg": "", "rc": 0, "start": "2025-12-19 20:40:18.967553", "stderr": "", "stderr_lines": [], "stdout": " 20:40:18 up 7:10, 1 user, load average: 1.41, 1.21, 1.19", "stdout_lines": [" 20:40:18 up 7:10, 1 user, load average: 1.41, 1.21, 1.19"]}
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-19 20:40:16.976224", "msg": "", "rc": 0, "start": "2025-12-19 20:40:16.971964", "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.004558", "end": "2025-12-19 20:40:16.990808", "msg": "", "rc": 0, "start": "2025-12-19 20:40:16.986250", "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.004048", "end": "2025-12-19 20:40:16.994988", "msg": "", "rc": 0, "start": "2025-12-19 20:40:16.990940", "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.004951", "end": "2025-12-19 20:40:17.035196", "msg": "", "rc": 0, "start": "2025-12-19 20:40:17.030245", "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-19 20:40:17.038603", "msg": "", "rc": 0, "start": "2025-12-19 20:40:17.033034", "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.005265", "end": "2025-12-19 20:39:48.695791", "msg": "", "rc": 0, "start": "2025-12-19 20:39:48.690526", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005384", "end": "2025-12-19 20:39:41.471578", "msg": "", "rc": 0, "start": "2025-12-19 20:39:41.466194", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010258", "end": "2025-12-19 20:40:17.805764", "msg": "", "rc": 0, "start": "2025-12-19 20:40:17.795506", "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.011879", "end": "2025-12-19 20:40:17.836437", "msg": "", "rc": 0, "start": "2025-12-19 20:40:17.824558", "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.005843", "end": "2025-12-19 20:40:18.027896", "msg": "", "rc": 0, "start": "2025-12-19 20:40:18.022053", "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.005321", "end": "2025-12-19 20:39:44.682441", "msg": "", "rc": 0, "start": "2025-12-19 20:39:44.677120", "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.005451", "end": "2025-12-19 17:40:18.419025", "msg": "", "rc": 0, "start": "2025-12-19 17:40:18.413574", "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.005319", "end": "2025-12-19 20:39:52.205694", "msg": "", "rc": 0, "start": "2025-12-19 20:39:52.200375", "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.026579", "end": "2025-12-19 20:40:18.407107", "msg": "", "rc": 0, "start": "2025-12-19 20:40:18.380528", "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.006788", "end": "2025-12-19 20:40:18.592700", "msg": "", "rc": 0, "start": "2025-12-19 20:40:18.585912", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022286", "end": "2025-12-19 20:40:21.250523", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.228237", "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.004300", "end": "2025-12-19 20:40:19.155281", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.150981", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004172", "end": "2025-12-19 20:40:19.169352", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.165180", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004651", "end": "2025-12-19 20:40:19.218265", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.213614", "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.005347", "end": "2025-12-19 20:40:19.243393", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.238046", "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.008151", "end": "2025-12-19 20:40:19.251778", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.243627", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003343", "end": "2025-12-19 20:39:50.866797", "msg": "", "rc": 0, "start": "2025-12-19 20:39:50.863454", "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.007687", "end": "2025-12-19 20:39:43.677052", "msg": "", "rc": 0, "start": "2025-12-19 20:39:43.669365", "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.010787", "end": "2025-12-19 20:40:19.899054", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.888267", "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.011967", "end": "2025-12-19 20:40:19.902047", "msg": "", "rc": 0, "start": "2025-12-19 20:40:19.890080", "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.006779", "end": "2025-12-19 20:40:20.173576", "msg": "", "rc": 0, "start": "2025-12-19 20:40:20.166797", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.005138", "end": "2025-12-19 17:40:20.397750", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:40:20.392612", "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.004327", "end": "2025-12-19 20:39:46.904722", "msg": "", "rc": 0, "start": "2025-12-19 20:39:46.900395", "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.003823", "end": "2025-12-19 20:39:54.207385", "msg": "", "rc": 0, "start": "2025-12-19 20:39:54.203562", "stderr": "", "stderr_lines": [], "stdout": "54.7%", "stdout_lines": ["54.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.005426", "end": "2025-12-19 20:40:20.617011", "msg": "", "rc": 0, "start": "2025-12-19 20:40:20.611585", "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.026307", "end": "2025-12-19 20:40:20.582936", "msg": "", "rc": 0, "start": "2025-12-19 20:40:20.556629", "stderr": "", "stderr_lines": [], "stdout": "18.0%", "stdout_lines": ["18.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.009936", "end": "2025-12-19 20:40:23.597234", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.587298", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.005526", "end": "2025-12-19 20:40:21.153140", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.147614", "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.005586", "end": "2025-12-19 20:40:21.170252", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.164666", "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.005111", "end": "2025-12-19 20:40:21.175506", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.170395", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002952", "end": "2025-12-19 20:40:21.208064", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.205112", "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.006759", "end": "2025-12-19 20:40:21.235427", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.228668", "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.002527", "end": "2025-12-19 20:39:52.853260", "msg": "", "rc": 0, "start": "2025-12-19 20:39:52.850733", "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.003154", "end": "2025-12-19 20:39:45.659666", "msg": "", "rc": 0, "start": "2025-12-19 20:39:45.656512", "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.012420", "end": "2025-12-19 20:40:21.862365", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.849945", "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.013469", "end": "2025-12-19 20:40:21.905858", "msg": "", "rc": 0, "start": "2025-12-19 20:40:21.892389", "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.003175", "end": "2025-12-19 20:40:22.147909", "msg": "", "rc": 0, "start": "2025-12-19 20:40:22.144734", "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.002689", "end": "2025-12-19 20:39:56.135912", "msg": "", "rc": 0, "start": "2025-12-19 20:39:56.133223", "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.003059", "end": "2025-12-19 20:39:48.854067", "msg": "", "rc": 0, "start": "2025-12-19 20:39:48.851008", "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.003842", "end": "2025-12-19 17:40:22.373491", "msg": "", "rc": 0, "start": "2025-12-19 17:40:22.369649", "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.002972", "end": "2025-12-19 20:40:22.580055", "msg": "", "rc": 0, "start": "2025-12-19 20:40:22.577083", "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.004462", "end": "2025-12-19 20:40:22.779798", "msg": "", "rc": 0, "start": "2025-12-19 20:40:22.775336", "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.029392", "end": "2025-12-19 20:40:22.572930", "msg": "", "rc": 0, "start": "2025-12-19 20:40:22.543538", "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.004098", "end": "2025-12-19 20:40:23.087668", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.083570", "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.004127", "end": "2025-12-19 20:40:23.120402", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.116275", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.004655", "end": "2025-12-19 20:40:23.127443", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.122788", "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.004517", "end": "2025-12-19 20:40:23.151140", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.146623", "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.005708", "end": "2025-12-19 20:40:23.150885", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.145177", "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.004089", "end": "2025-12-19 20:39:54.769443", "msg": "", "rc": 0, "start": "2025-12-19 20:39:54.765354", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.005012", "end": "2025-12-19 20:39:47.543039", "msg": "", "rc": 0, "start": "2025-12-19 20:39:47.538027", "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.010153", "end": "2025-12-19 20:40:23.895854", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.885701", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.013149", "end": "2025-12-19 20:40:23.923877", "msg": "", "rc": 0, "start": "2025-12-19 20:40:23.910728", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
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.005643", "end": "2025-12-19 20:40:24.065621", "msg": "", "rc": 0, "start": "2025-12-19 20:40:24.059978", "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.004946", "end": "2025-12-19 20:39:50.719176", "msg": "", "rc": 0, "start": "2025-12-19 20:39:50.714230", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005934", "end": "2025-12-19 17:40:24.431567", "msg": "", "rc": 0, "start": "2025-12-19 17:40:24.425633", "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.004283", "end": "2025-12-19 20:39:58.216983", "msg": "", "rc": 0, "start": "2025-12-19 20:39:58.212700", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
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.009596", "end": "2025-12-19 20:40:24.851053", "msg": "", "rc": 0, "start": "2025-12-19 20:40:24.841457", "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.005639", "end": "2025-12-19 20:40:24.540649", "msg": "", "rc": 0, "start": "2025-12-19 20:40:24.535010", "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.024943", "end": "2025-12-19 20:40:24.494342", "msg": "", "rc": 0, "start": "2025-12-19 20:40:24.469399", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:14 up 24 days, 7:31, 1 user, load average: 0.14, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 76.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: 20:40:14 up 11:24, 2 users, load average: 0.31, 0.24, 0.22\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.42\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:14 up 24 days, 7:51, 1 user, load average: 0.95, 0.70, 0.72\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.95\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:14 up 24 days, 9:04, 1 user, load average: 0.42, 0.59, 0.62\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.46\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:14 up 24 days, 9:50, 1 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:16 up 17 days, 10:06, 1 user, load average: 0.16, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 18.0%\nCPU Load: 0.13\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:15 up 196 days, 12:13, 1 user, load average: 0.18, 0.20, 0.18\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.15\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:15 up 196 days, 12:13, 1 user, load average: 0.30, 0.19, 0.15\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.42\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:39:46 up 13 days, 8:29, 0 user, load average: 0.59, 0.36, 0.18\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:39:39 up 20 days, 4:41, 0 user, load average: 0.02, 0.01, 0.00\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:15 up 11:23, 1 user, load average: 0.08, 0.06, 0.01\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:39:42 up 22 days, 23:34, 0 user, load average: 0.57, 0.59, 0.53\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:39:50 up 19 days, 9:55, 0 user, load average: 0.46, 0.26, 0.29\nDisk Usage: 76%\nMemory Usage: 54.7%\nCPU Load: 0.62\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:40PM up 24 days, 7:30, 1 user, load averages: 0.22, 0.21, 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: 20:40:16 up 11:23, 1 user, load average: 0.00, 0.04, 0.01\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:40:18 up 7:10, 1 user, load average: 1.41, 1.21, 1.19\nDisk Usage: 1%\nMemory Usage: 12.9%\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-20T01:40:25.914704+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e4fa5d426756497b901a6154827a95b4` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:50:00.007838+00:00 |
| **Fin** | 2025-12-20T01:50:24.822211+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: [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: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003262", "end": "2025-12-19 20:50:12.237241", "msg": "", "rc": 0, "start": "2025-12-19 20:50:12.233979", "stderr": "", "stderr_lines": [], "stdout": " 20:50:12 up 24 days, 7:41, 1 user, load average: 0.18, 0.11, 0.09", "stdout_lines": [" 20:50:12 up 24 days, 7:41, 1 user, load average: 0.18, 0.11, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003435", "end": "2025-12-19 20:50:12.253275", "msg": "", "rc": 0, "start": "2025-12-19 20:50:12.249840", "stderr": "", "stderr_lines": [], "stdout": " 20:50:12 up 24 days, 8:01, 1 user, load average: 0.50, 0.64, 0.70", "stdout_lines": [" 20:50:12 up 24 days, 8:01, 1 user, load average: 0.50, 0.64, 0.70"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003594", "end": "2025-12-19 20:50:12.257548", "msg": "", "rc": 0, "start": "2025-12-19 20:50:12.253954", "stderr": "", "stderr_lines": [], "stdout": " 20:50:12 up 24 days, 10:00, 1 user, load average: 0.06, 0.05, 0.00", "stdout_lines": [" 20:50:12 up 24 days, 10:00, 1 user, load average: 0.06, 0.05, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003793", "end": "2025-12-19 20:50:12.268535", "msg": "", "rc": 0, "start": "2025-12-19 20:50:12.264742", "stderr": "", "stderr_lines": [], "stdout": " 20:50:12 up 24 days, 9:14, 1 user, load average: 0.59, 0.59, 0.61", "stdout_lines": [" 20:50:12 up 24 days, 9:14, 1 user, load average: 0.59, 0.59, 0.61"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002838", "end": "2025-12-19 20:50:12.281321", "msg": "", "rc": 0, "start": "2025-12-19 20:50:12.278483", "stderr": "", "stderr_lines": [], "stdout": " 20:50:12 up 11:34, 2 users, load average: 0.52, 0.28, 0.23", "stdout_lines": [" 20:50:12 up 11:34, 2 users, load average: 0.52, 0.28, 0.23"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003083", "end": "2025-12-19 20:49:43.909177", "msg": "", "rc": 0, "start": "2025-12-19 20:49:43.906094", "stderr": "", "stderr_lines": [], "stdout": " 20:49:43 up 13 days, 8:39, 0 user, load average: 0.11, 0.11, 0.13", "stdout_lines": [" 20:49:43 up 13 days, 8:39, 0 user, load average: 0.11, 0.11, 0.13"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003401", "end": "2025-12-19 20:49:36.674912", "msg": "", "rc": 0, "start": "2025-12-19 20:49:36.671511", "stderr": "", "stderr_lines": [], "stdout": " 20:49:36 up 20 days, 4:51, 0 user, load average: 0.00, 0.07, 0.04", "stdout_lines": [" 20:49:36 up 20 days, 4:51, 0 user, load average: 0.00, 0.07, 0.04"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008522", "end": "2025-12-19 20:50:12.993810", "msg": "", "rc": 0, "start": "2025-12-19 20:50:12.985288", "stderr": "", "stderr_lines": [], "stdout": " 20:50:12 up 196 days, 12:23, 1 user, load average: 0.12, 0.12, 0.12", "stdout_lines": [" 20:50:12 up 196 days, 12:23, 1 user, load average: 0.12, 0.12, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009602", "end": "2025-12-19 20:50:13.027270", "msg": "", "rc": 0, "start": "2025-12-19 20:50:13.017668", "stderr": "", "stderr_lines": [], "stdout": " 20:50:13 up 196 days, 12:23, 1 user, load average: 0.23, 0.18, 0.18", "stdout_lines": [" 20:50:13 up 196 days, 12:23, 1 user, load average: 0.23, 0.18, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004843", "end": "2025-12-19 20:50:13.345222", "msg": "", "rc": 0, "start": "2025-12-19 20:50:13.340379", "stderr": "", "stderr_lines": [], "stdout": " 20:50:13 up 11:33, 1 user, load average: 0.18, 0.10, 0.02", "stdout_lines": [" 20:50:13 up 11:33, 1 user, load average: 0.18, 0.10, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003433", "end": "2025-12-19 20:49:39.950123", "msg": "", "rc": 0, "start": "2025-12-19 20:49:39.946690", "stderr": "", "stderr_lines": [], "stdout": " 20:49:39 up 22 days, 23:43, 0 user, load average: 0.30, 0.42, 0.45", "stdout_lines": [" 20:49:39 up 22 days, 23:43, 0 user, load average: 0.30, 0.42, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004177", "end": "2025-12-19 17:50:13.569621", "msg": "", "rc": 0, "start": "2025-12-19 17:50:13.565444", "stderr": "", "stderr_lines": [], "stdout": " 5:50PM up 24 days, 7:40, 1 user, load averages: 0.40, 0.29, 0.24", "stdout_lines": [" 5:50PM up 24 days, 7:40, 1 user, load averages: 0.40, 0.29, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002934", "end": "2025-12-19 20:49:47.375816", "msg": "", "rc": 0, "start": "2025-12-19 20:49:47.372882", "stderr": "", "stderr_lines": [], "stdout": " 20:49:47 up 19 days, 10:05, 0 user, load average: 0.10, 0.24, 0.27", "stdout_lines": [" 20:49:47 up 19 days, 10:05, 0 user, load average: 0.10, 0.24, 0.27"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020053", "end": "2025-12-19 20:50:13.654407", "msg": "", "rc": 0, "start": "2025-12-19 20:50:13.634354", "stderr": "", "stderr_lines": [], "stdout": " 20:50:13 up 17 days, 10:16, 1 user, load average: 0.08, 0.08, 0.08", "stdout_lines": [" 20:50:13 up 17 days, 10:16, 1 user, load average: 0.08, 0.08, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003718", "end": "2025-12-19 20:50:13.796429", "msg": "", "rc": 0, "start": "2025-12-19 20:50:13.792711", "stderr": "", "stderr_lines": [], "stdout": " 20:50:13 up 11:33, 1 user, load average: 0.67, 0.21, 0.08", "stdout_lines": [" 20:50:13 up 11:33, 1 user, load average: 0.67, 0.21, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009247", "end": "2025-12-19 20:50:14.148765", "msg": "", "rc": 0, "start": "2025-12-19 20:50:14.139518", "stderr": "", "stderr_lines": [], "stdout": " 20:50:14 up 7:21, 1 user, load average: 1.74, 1.48, 1.32", "stdout_lines": [" 20:50:14 up 7:21, 1 user, load average: 1.74, 1.48, 1.32"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004052", "end": "2025-12-19 20:50:14.345232", "msg": "", "rc": 0, "start": "2025-12-19 20:50:14.341180", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004235", "end": "2025-12-19 20:50:14.384507", "msg": "", "rc": 0, "start": "2025-12-19 20:50:14.380272", "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.004661", "end": "2025-12-19 20:50:14.398469", "msg": "", "rc": 0, "start": "2025-12-19 20:50:14.393808", "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.005376", "end": "2025-12-19 20:50:14.488456", "msg": "", "rc": 0, "start": "2025-12-19 20:50:14.483080", "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.004827", "end": "2025-12-19 20:50:14.500055", "msg": "", "rc": 0, "start": "2025-12-19 20:50:14.495228", "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.005022", "end": "2025-12-19 20:49:46.332684", "msg": "", "rc": 0, "start": "2025-12-19 20:49:46.327662", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005315", "end": "2025-12-19 20:49:39.105385", "msg": "", "rc": 0, "start": "2025-12-19 20:49:39.100070", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010448", "end": "2025-12-19 20:50:15.336512", "msg": "", "rc": 0, "start": "2025-12-19 20:50:15.326064", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011655", "end": "2025-12-19 20:50:15.333752", "msg": "", "rc": 0, "start": "2025-12-19 20:50:15.322097", "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.005737", "end": "2025-12-19 20:50:15.656012", "msg": "", "rc": 0, "start": "2025-12-19 20:50:15.650275", "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.005311", "end": "2025-12-19 17:50:15.826199", "msg": "", "rc": 0, "start": "2025-12-19 17:50:15.820888", "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.005649", "end": "2025-12-19 20:49:42.295111", "msg": "", "rc": 0, "start": "2025-12-19 20:49:42.289462", "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.004800", "end": "2025-12-19 20:49:49.613711", "msg": "", "rc": 0, "start": "2025-12-19 20:49:49.608911", "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.026037", "end": "2025-12-19 20:50:15.985602", "msg": "", "rc": 0, "start": "2025-12-19 20:50:15.959565", "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.005434", "end": "2025-12-19 20:50:16.169601", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.164167", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.038039", "end": "2025-12-19 20:50:16.878575", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.840536", "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.004479", "end": "2025-12-19 20:50:16.739113", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.734634", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004160", "end": "2025-12-19 20:50:16.762811", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.758651", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004502", "end": "2025-12-19 20:50:16.803800", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.799298", "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.005096", "end": "2025-12-19 20:50:16.808822", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.803726", "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.005770", "end": "2025-12-19 20:50:16.813336", "msg": "", "rc": 0, "start": "2025-12-19 20:50:16.807566", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004040", "end": "2025-12-19 20:49:48.463977", "msg": "", "rc": 0, "start": "2025-12-19 20:49:48.459937", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005212", "end": "2025-12-19 20:49:41.214277", "msg": "", "rc": 0, "start": "2025-12-19 20:49:41.209065", "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.011156", "end": "2025-12-19 20:50:17.472826", "msg": "", "rc": 0, "start": "2025-12-19 20:50:17.461670", "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.011983", "end": "2025-12-19 20:50:17.496175", "msg": "", "rc": 0, "start": "2025-12-19 20:50:17.484192", "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.005624", "end": "2025-12-19 20:50:17.798306", "msg": "", "rc": 0, "start": "2025-12-19 20:50:17.792682", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.003964", "end": "2025-12-19 20:49:44.400232", "msg": "", "rc": 0, "start": "2025-12-19 20:49:44.396268", "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.005212", "end": "2025-12-19 17:50:17.978795", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:50:17.973583", "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.003931", "end": "2025-12-19 20:49:51.798714", "msg": "", "rc": 0, "start": "2025-12-19 20:49:51.794783", "stderr": "", "stderr_lines": [], "stdout": "54.2%", "stdout_lines": ["54.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.005373", "end": "2025-12-19 20:50:18.230422", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.225049", "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.026097", "end": "2025-12-19 20:50:18.157080", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.130983", "stderr": "", "stderr_lines": [], "stdout": "18.0%", "stdout_lines": ["18.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.010688", "end": "2025-12-19 20:50:19.210531", "msg": "", "rc": 0, "start": "2025-12-19 20:50:19.199843", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.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.005669", "end": "2025-12-19 20:50:18.864170", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.858501", "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.005070", "end": "2025-12-19 20:50:18.864962", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.859892", "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.005424", "end": "2025-12-19 20:50:18.870168", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.864744", "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-19 20:50:18.907637", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.904687", "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.006810", "end": "2025-12-19 20:50:18.932283", "msg": "", "rc": 0, "start": "2025-12-19 20:50:18.925473", "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.002977", "end": "2025-12-19 20:49:50.524919", "msg": "", "rc": 0, "start": "2025-12-19 20:49:50.521942", "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.003034", "end": "2025-12-19 20:49:43.323656", "msg": "", "rc": 0, "start": "2025-12-19 20:49:43.320622", "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.011781", "end": "2025-12-19 20:50:19.651025", "msg": "", "rc": 0, "start": "2025-12-19 20:50:19.639244", "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.013036", "end": "2025-12-19 20:50:19.690559", "msg": "", "rc": 0, "start": "2025-12-19 20:50:19.677523", "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.003161", "end": "2025-12-19 20:50:19.839778", "msg": "", "rc": 0, "start": "2025-12-19 20:50:19.836617", "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.002736", "end": "2025-12-19 20:49:46.553163", "msg": "", "rc": 0, "start": "2025-12-19 20:49:46.550427", "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.002696", "end": "2025-12-19 20:49:54.095477", "msg": "", "rc": 0, "start": "2025-12-19 20:49:54.092781", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003856", "end": "2025-12-19 17:50:20.328033", "msg": "", "rc": 0, "start": "2025-12-19 17:50:20.324177", "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.029346", "end": "2025-12-19 20:50:20.284501", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.255155", "stderr": "", "stderr_lines": [], "stdout": "34.9°C", "stdout_lines": ["34.9°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.002866", "end": "2025-12-19 20:50:20.431373", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.428507", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004749", "end": "2025-12-19 20:50:21.401953", "msg": "", "rc": 0, "start": "2025-12-19 20:50:21.397204", "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.003963", "end": "2025-12-19 20:50:20.860010", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.856047", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
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.004118", "end": "2025-12-19 20:50:20.861237", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.857119", "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.005035", "end": "2025-12-19 20:50:20.876506", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.871471", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.005039", "end": "2025-12-19 20:50:20.908995", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.903956", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006163", "end": "2025-12-19 20:50:20.923385", "msg": "", "rc": 0, "start": "2025-12-19 20:50:20.917222", "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.004238", "end": "2025-12-19 20:49:52.550986", "msg": "", "rc": 0, "start": "2025-12-19 20:49:52.546748", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005503", "end": "2025-12-19 20:49:45.335920", "msg": "", "rc": 0, "start": "2025-12-19 20:49:45.330417", "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.009858", "end": "2025-12-19 20:50:21.563207", "msg": "", "rc": 0, "start": "2025-12-19 20:50:21.553349", "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.010934", "end": "2025-12-19 20:50:21.593986", "msg": "", "rc": 0, "start": "2025-12-19 20:50:21.583052", "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.005570", "end": "2025-12-19 20:50:21.908272", "msg": "", "rc": 0, "start": "2025-12-19 20:50:21.902702", "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.005937", "end": "2025-12-19 17:50:22.123405", "msg": "", "rc": 0, "start": "2025-12-19 17:50:22.117468", "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.004559", "end": "2025-12-19 20:49:55.934774", "msg": "", "rc": 0, "start": "2025-12-19 20:49:55.930215", "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.005028", "end": "2025-12-19 20:49:48.686154", "msg": "", "rc": 0, "start": "2025-12-19 20:49:48.681126", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005200", "end": "2025-12-19 20:50:22.343309", "msg": "", "rc": 0, "start": "2025-12-19 20:50:22.338109", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024692", "end": "2025-12-19 20:50:22.268539", "msg": "", "rc": 0, "start": "2025-12-19 20:50:22.243847", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008344", "end": "2025-12-19 20:50:23.622088", "msg": "", "rc": 0, "start": "2025-12-19 20:50:23.613744", "stderr": "", "stderr_lines": [], "stdout": "2.10", "stdout_lines": ["2.10"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:12 up 24 days, 7:41, 1 user, load average: 0.18, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:12 up 11:34, 2 users, load average: 0.52, 0.28, 0.23\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.60\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:12 up 24 days, 8:01, 1 user, load average: 0.50, 0.64, 0.70\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.65\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:12 up 24 days, 9:14, 1 user, load average: 0.59, 0.59, 0.61\nDisk Usage: 14%\nMemory Usage: 59.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: 20:50:12 up 24 days, 10:00, 1 user, load average: 0.06, 0.05, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:13 up 17 days, 10:16, 1 user, load average: 0.08, 0.08, 0.08\nDisk Usage: 21%\nMemory Usage: 18.0%\nCPU Load: 0.15\nCPU Temp: 34.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:13 up 196 days, 12:23, 1 user, load average: 0.23, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.22\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:12 up 196 days, 12:23, 1 user, load average: 0.12, 0.12, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.19\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:49:43 up 13 days, 8:39, 0 user, load average: 0.11, 0.11, 0.13\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:49:36 up 20 days, 4:51, 0 user, load average: 0.00, 0.07, 0.04\nDisk Usage: 25%\nMemory Usage: 65.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:13 up 11:33, 1 user, load average: 0.18, 0.10, 0.02\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:49:39 up 22 days, 23:43, 0 user, load average: 0.30, 0.42, 0.45\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:49:47 up 19 days, 10:05, 0 user, load average: 0.10, 0.24, 0.27\nDisk Usage: 76%\nMemory Usage: 54.2%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:50PM up 24 days, 7:40, 1 user, load averages: 0.40, 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: 20:50:13 up 11:33, 1 user, load average: 0.67, 0.21, 0.08\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:50:14 up 7:21, 1 user, load average: 1.74, 1.48, 1.32\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 2.10\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-20T01:50:24.900953+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8aef92fdcf2745719b9aa1cab23c69df` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T01:55:00.006477+00:00 |
| **Fin** | 2025-12-20T01:55:21.825336+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: [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.003409", "end": "2025-12-19 20:55:09.394304", "msg": "", "rc": 0, "start": "2025-12-19 20:55:09.390895", "stderr": "", "stderr_lines": [], "stdout": " 20:55:09 up 24 days, 7:46, 1 user, load average: 0.36, 0.15, 0.11", "stdout_lines": [" 20:55:09 up 24 days, 7:46, 1 user, load average: 0.36, 0.15, 0.11"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003263", "end": "2025-12-19 20:55:09.397600", "msg": "", "rc": 0, "start": "2025-12-19 20:55:09.394337", "stderr": "", "stderr_lines": [], "stdout": " 20:55:09 up 24 days, 8:06, 1 user, load average: 0.53, 0.57, 0.65", "stdout_lines": [" 20:55:09 up 24 days, 8:06, 1 user, load average: 0.53, 0.57, 0.65"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003538", "end": "2025-12-19 20:55:09.404601", "msg": "", "rc": 0, "start": "2025-12-19 20:55:09.401063", "stderr": "", "stderr_lines": [], "stdout": " 20:55:09 up 24 days, 10:05, 1 user, load average: 0.09, 0.07, 0.01", "stdout_lines": [" 20:55:09 up 24 days, 10:05, 1 user, load average: 0.09, 0.07, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002806", "end": "2025-12-19 20:55:09.432941", "msg": "", "rc": 0, "start": "2025-12-19 20:55:09.430135", "stderr": "", "stderr_lines": [], "stdout": " 20:55:09 up 11:39, 1 user, load average: 0.05, 0.17, 0.19", "stdout_lines": [" 20:55:09 up 11:39, 1 user, load average: 0.05, 0.17, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004208", "end": "2025-12-19 20:55:09.437496", "msg": "", "rc": 0, "start": "2025-12-19 20:55:09.433288", "stderr": "", "stderr_lines": [], "stdout": " 20:55:09 up 24 days, 9:19, 1 user, load average: 0.62, 0.62, 0.63", "stdout_lines": [" 20:55:09 up 24 days, 9:19, 1 user, load average: 0.62, 0.62, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003061", "end": "2025-12-19 20:54:41.037030", "msg": "", "rc": 0, "start": "2025-12-19 20:54:41.033969", "stderr": "", "stderr_lines": [], "stdout": " 20:54:41 up 13 days, 8:44, 0 user, load average: 0.01, 0.05, 0.09", "stdout_lines": [" 20:54:41 up 13 days, 8:44, 0 user, load average: 0.01, 0.05, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003594", "end": "2025-12-19 20:54:33.831016", "msg": "", "rc": 0, "start": "2025-12-19 20:54:33.827422", "stderr": "", "stderr_lines": [], "stdout": " 20:54:33 up 20 days, 4:56, 0 user, load average: 0.00, 0.02, 0.02", "stdout_lines": [" 20:54:33 up 20 days, 4:56, 0 user, load average: 0.00, 0.02, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008486", "end": "2025-12-19 20:55:10.074432", "msg": "", "rc": 0, "start": "2025-12-19 20:55:10.065946", "stderr": "", "stderr_lines": [], "stdout": " 20:55:10 up 196 days, 12:28, 1 user, load average: 0.17, 0.13, 0.11", "stdout_lines": [" 20:55:10 up 196 days, 12:28, 1 user, load average: 0.17, 0.13, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009268", "end": "2025-12-19 20:55:10.110498", "msg": "", "rc": 0, "start": "2025-12-19 20:55:10.101230", "stderr": "", "stderr_lines": [], "stdout": " 20:55:10 up 196 days, 12:28, 1 user, load average: 0.67, 0.30, 0.22", "stdout_lines": [" 20:55:10 up 196 days, 12:28, 1 user, load average: 0.67, 0.30, 0.22"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004550", "end": "2025-12-19 20:55:10.354441", "msg": "", "rc": 0, "start": "2025-12-19 20:55:10.349891", "stderr": "", "stderr_lines": [], "stdout": " 20:55:10 up 11:38, 1 user, load average: 0.12, 0.07, 0.01", "stdout_lines": [" 20:55:10 up 11:38, 1 user, load average: 0.12, 0.07, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003061", "end": "2025-12-19 20:54:37.009962", "msg": "", "rc": 0, "start": "2025-12-19 20:54:37.006901", "stderr": "", "stderr_lines": [], "stdout": " 20:54:37 up 22 days, 23:48, 0 user, load average: 0.39, 0.39, 0.44", "stdout_lines": [" 20:54:37 up 22 days, 23:48, 0 user, load average: 0.39, 0.39, 0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004297", "end": "2025-12-19 17:55:10.568735", "msg": "", "rc": 0, "start": "2025-12-19 17:55:10.564438", "stderr": "", "stderr_lines": [], "stdout": " 5:55PM up 24 days, 7:44, 1 user, load averages: 0.13, 0.23, 0.23", "stdout_lines": [" 5:55PM up 24 days, 7:44, 1 user, load averages: 0.13, 0.23, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002805", "end": "2025-12-19 20:54:44.350316", "msg": "", "rc": 0, "start": "2025-12-19 20:54:44.347511", "stderr": "", "stderr_lines": [], "stdout": " 20:54:44 up 19 days, 10:10, 0 user, load average: 0.36, 0.29, 0.28", "stdout_lines": [" 20:54:44 up 19 days, 10:10, 0 user, load average: 0.36, 0.29, 0.28"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003665", "end": "2025-12-19 20:55:10.774340", "msg": "", "rc": 0, "start": "2025-12-19 20:55:10.770675", "stderr": "", "stderr_lines": [], "stdout": " 20:55:10 up 11:38, 1 user, load average: 0.08, 0.10, 0.06", "stdout_lines": [" 20:55:10 up 11:38, 1 user, load average: 0.08, 0.10, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005653", "end": "2025-12-19 20:55:11.506795", "msg": "", "rc": 0, "start": "2025-12-19 20:55:11.501142", "stderr": "", "stderr_lines": [], "stdout": " 20:55:11 up 7:27, 1 user, load average: 1.41, 1.28, 1.27", "stdout_lines": [" 20:55:11 up 7:27, 1 user, load average: 1.41, 1.28, 1.27"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019997", "end": "2025-12-19 20:55:10.793399", "msg": "", "rc": 0, "start": "2025-12-19 20:55:10.773402", "stderr": "", "stderr_lines": [], "stdout": " 20:55:10 up 17 days, 10:21, 1 user, load average: 0.22, 0.11, 0.10", "stdout_lines": [" 20:55:10 up 17 days, 10:21, 1 user, load average: 0.22, 0.11, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004245", "end": "2025-12-19 20:55:11.320635", "msg": "", "rc": 0, "start": "2025-12-19 20:55:11.316390", "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.004134", "end": "2025-12-19 20:55:11.336926", "msg": "", "rc": 0, "start": "2025-12-19 20:55:11.332792", "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.004635", "end": "2025-12-19 20:55:11.350989", "msg": "", "rc": 0, "start": "2025-12-19 20:55:11.346354", "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.004944", "end": "2025-12-19 20:55:11.372376", "msg": "", "rc": 0, "start": "2025-12-19 20:55:11.367432", "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.005402", "end": "2025-12-19 20:55:11.387879", "msg": "", "rc": 0, "start": "2025-12-19 20:55:11.382477", "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.005315", "end": "2025-12-19 20:54:42.998339", "msg": "", "rc": 0, "start": "2025-12-19 20:54:42.993024", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005586", "end": "2025-12-19 20:54:35.772591", "msg": "", "rc": 0, "start": "2025-12-19 20:54:35.767005", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010464", "end": "2025-12-19 20:55:12.079437", "msg": "", "rc": 0, "start": "2025-12-19 20:55:12.068973", "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.011627", "end": "2025-12-19 20:55:12.156287", "msg": "", "rc": 0, "start": "2025-12-19 20:55:12.144660", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005750", "end": "2025-12-19 20:55:12.308031", "msg": "", "rc": 0, "start": "2025-12-19 20:55:12.302281", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-19 20:54:38.945431", "msg": "", "rc": 0, "start": "2025-12-19 20:54:38.940080", "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.005338", "end": "2025-12-19 20:54:46.354549", "msg": "", "rc": 0, "start": "2025-12-19 20:54:46.349211", "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.005316", "end": "2025-12-19 17:55:12.628284", "msg": "", "rc": 0, "start": "2025-12-19 17:55:12.622968", "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.005456", "end": "2025-12-19 20:55:12.728735", "msg": "", "rc": 0, "start": "2025-12-19 20:55:12.723279", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008287", "end": "2025-12-19 20:55:13.646841", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.638554", "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.026003", "end": "2025-12-19 20:55:12.739787", "msg": "", "rc": 0, "start": "2025-12-19 20:55:12.713784", "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.004323", "end": "2025-12-19 20:55:13.252024", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.247701", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004117", "end": "2025-12-19 20:55:13.270849", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.266732", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.005073", "end": "2025-12-19 20:55:13.296522", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.291449", "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.005180", "end": "2025-12-19 20:55:13.315592", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.310412", "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.005501", "end": "2025-12-19 20:55:13.333151", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.327650", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004023", "end": "2025-12-19 20:54:44.905217", "msg": "", "rc": 0, "start": "2025-12-19 20:54:44.901194", "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.004524", "end": "2025-12-19 20:54:37.693580", "msg": "", "rc": 0, "start": "2025-12-19 20:54:37.689056", "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.011119", "end": "2025-12-19 20:55:13.941489", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.930370", "stderr": "", "stderr_lines": [], "stdout": "7.2%", "stdout_lines": ["7.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.011500", "end": "2025-12-19 20:55:13.985110", "msg": "", "rc": 0, "start": "2025-12-19 20:55:13.973610", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.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.005895", "end": "2025-12-19 20:55:14.228181", "msg": "", "rc": 0, "start": "2025-12-19 20:55:14.222286", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004131", "end": "2025-12-19 20:54:40.879991", "msg": "", "rc": 0, "start": "2025-12-19 20:54:40.875860", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003807", "end": "2025-12-19 20:54:48.206324", "msg": "", "rc": 0, "start": "2025-12-19 20:54:48.202517", "stderr": "", "stderr_lines": [], "stdout": "54.1%", "stdout_lines": ["54.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.005051", "end": "2025-12-19 17:55:14.462066", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 17:55:14.457015", "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.005272", "end": "2025-12-19 20:55:14.658953", "msg": "", "rc": 0, "start": "2025-12-19 20:55:14.653681", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.007736", "end": "2025-12-19 20:55:15.779989", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.772253", "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.026816", "end": "2025-12-19 20:55:14.656787", "msg": "", "rc": 0, "start": "2025-12-19 20:55:14.629971", "stderr": "", "stderr_lines": [], "stdout": "18.0%", "stdout_lines": ["18.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.005436", "end": "2025-12-19 20:55:15.185693", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.180257", "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.005376", "end": "2025-12-19 20:55:15.201334", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.195958", "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.004884", "end": "2025-12-19 20:55:15.213432", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.208548", "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.003307", "end": "2025-12-19 20:55:15.231466", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.228159", "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-19 20:55:15.260741", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.253996", "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.002809", "end": "2025-12-19 20:54:46.864128", "msg": "", "rc": 0, "start": "2025-12-19 20:54:46.861319", "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.002891", "end": "2025-12-19 20:54:39.630835", "msg": "", "rc": 0, "start": "2025-12-19 20:54:39.627944", "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.012015", "end": "2025-12-19 20:55:15.893362", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.881347", "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.012594", "end": "2025-12-19 20:55:15.925770", "msg": "", "rc": 0, "start": "2025-12-19 20:55:15.913176", "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.003150", "end": "2025-12-19 20:55:16.185332", "msg": "", "rc": 0, "start": "2025-12-19 20:55:16.182182", "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.002831", "end": "2025-12-19 20:54:42.816850", "msg": "", "rc": 0, "start": "2025-12-19 20:54:42.814019", "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.003869", "end": "2025-12-19 17:55:16.377902", "msg": "", "rc": 0, "start": "2025-12-19 17:55:16.374033", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002995", "end": "2025-12-19 20:54:50.163448", "msg": "", "rc": 0, "start": "2025-12-19 20:54:50.160453", "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.002858", "end": "2025-12-19 20:55:16.616330", "msg": "", "rc": 0, "start": "2025-12-19 20:55:16.613472", "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.004444", "end": "2025-12-19 20:55:17.911604", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.907160", "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.029403", "end": "2025-12-19 20:55:16.594164", "msg": "", "rc": 0, "start": "2025-12-19 20:55:16.564761", "stderr": "", "stderr_lines": [], "stdout": "34.9°C", "stdout_lines": ["34.9°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004126", "end": "2025-12-19 20:55:17.115954", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.111828", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.004087", "end": "2025-12-19 20:55:17.134302", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.130215", "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.004670", "end": "2025-12-19 20:55:17.159210", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.154540", "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.005310", "end": "2025-12-19 20:55:17.172034", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.166724", "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.005520", "end": "2025-12-19 20:55:17.180324", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.174804", "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.004595", "end": "2025-12-19 20:54:48.780777", "msg": "", "rc": 0, "start": "2025-12-19 20:54:48.776182", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004959", "end": "2025-12-19 20:54:41.544651", "msg": "", "rc": 0, "start": "2025-12-19 20:54:41.539692", "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.010193", "end": "2025-12-19 20:55:17.925231", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.915038", "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.010945", "end": "2025-12-19 20:55:17.920988", "msg": "", "rc": 0, "start": "2025-12-19 20:55:17.910043", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005806", "end": "2025-12-19 20:55:18.107389", "msg": "", "rc": 0, "start": "2025-12-19 20:55:18.101583", "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.005280", "end": "2025-12-19 20:54:44.757847", "msg": "", "rc": 0, "start": "2025-12-19 20:54:44.752567", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.005833", "end": "2025-12-19 17:55:18.510576", "msg": "", "rc": 0, "start": "2025-12-19 17:55:18.504743", "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.004277", "end": "2025-12-19 20:54:52.338068", "msg": "", "rc": 0, "start": "2025-12-19 20:54:52.333791", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025056", "end": "2025-12-19 20:55:18.518105", "msg": "", "rc": 0, "start": "2025-12-19 20:55:18.493049", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005200", "end": "2025-12-19 20:55:18.685225", "msg": "", "rc": 0, "start": "2025-12-19 20:55:18.680025", "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.007922", "end": "2025-12-19 20:55:20.464486", "msg": "", "rc": 0, "start": "2025-12-19 20:55:20.456564", "stderr": "", "stderr_lines": [], "stdout": "1.50", "stdout_lines": ["1.50"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:09 up 11:39, 1 user, load average: 0.05, 0.17, 0.19\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.04\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:09 up 24 days, 7:46, 1 user, load average: 0.36, 0.15, 0.11\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.54\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:09 up 24 days, 8:06, 1 user, load average: 0.53, 0.57, 0.65\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.52\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:09 up 24 days, 9:19, 1 user, load average: 0.62, 0.62, 0.63\nDisk Usage: 14%\nMemory Usage: 59.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: 20:55:09 up 24 days, 10:05, 1 user, load average: 0.09, 0.07, 0.01\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: 20:55:10 up 17 days, 10:21, 1 user, load average: 0.22, 0.11, 0.10\nDisk Usage: 21%\nMemory Usage: 18.0%\nCPU Load: 0.26\nCPU Temp: 34.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:10 up 196 days, 12:28, 1 user, load average: 0.67, 0.30, 0.22\nDisk Usage: 6%\nMemory Usage: 13.8%\nCPU Load: 0.64\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:10 up 196 days, 12:28, 1 user, load average: 0.17, 0.13, 0.11\nDisk Usage: 3%\nMemory Usage: 7.2%\nCPU Load: 0.22\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:54:41 up 13 days, 8:44, 0 user, load average: 0.01, 0.05, 0.09\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:54:33 up 20 days, 4:56, 0 user, load average: 0.00, 0.02, 0.02\nDisk Usage: 25%\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: 20:55:10 up 11:38, 1 user, load average: 0.12, 0.07, 0.01\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:54:37 up 22 days, 23:48, 0 user, load average: 0.39, 0.39, 0.44\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:54:44 up 19 days, 10:10, 0 user, load average: 0.36, 0.29, 0.28\nDisk Usage: 76%\nMemory Usage: 54.1%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:55PM up 24 days, 7:44, 1 user, load averages: 0.13, 0.23, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:10 up 11:38, 1 user, load average: 0.08, 0.10, 0.06\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:55:11 up 7:27, 1 user, load average: 1.41, 1.28, 1.27\nDisk Usage: 1%\nMemory Usage: 12.6%\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-20T01:55:21.887300+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e0f215407564403fbe87524ac52dbc3e` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:00:00.011292+00:00 |
| **Fin** | 2025-12-20T02:00:21.455578+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [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: [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.003202", "end": "2025-12-19 21:00:08.575661", "msg": "", "rc": 0, "start": "2025-12-19 21:00:08.572459", "stderr": "", "stderr_lines": [], "stdout": " 21:00:08 up 24 days, 7:51, 1 user, load average: 0.15, 0.14, 0.11", "stdout_lines": [" 21:00:08 up 24 days, 7:51, 1 user, load average: 0.15, 0.14, 0.11"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003751", "end": "2025-12-19 21:00:08.588982", "msg": "", "rc": 0, "start": "2025-12-19 21:00:08.585231", "stderr": "", "stderr_lines": [], "stdout": " 21:00:08 up 24 days, 10:10, 1 user, load average: 0.05, 0.05, 0.00", "stdout_lines": [" 21:00:08 up 24 days, 10:10, 1 user, load average: 0.05, 0.05, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003807", "end": "2025-12-19 21:00:08.586606", "msg": "", "rc": 0, "start": "2025-12-19 21:00:08.582799", "stderr": "", "stderr_lines": [], "stdout": " 21:00:08 up 24 days, 8:11, 1 user, load average: 0.85, 0.66, 0.66", "stdout_lines": [" 21:00:08 up 24 days, 8:11, 1 user, load average: 0.85, 0.66, 0.66"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003107", "end": "2025-12-19 21:00:08.618447", "msg": "", "rc": 0, "start": "2025-12-19 21:00:08.615340", "stderr": "", "stderr_lines": [], "stdout": " 21:00:08 up 11:44, 2 users, load average: 0.28, 0.25, 0.21", "stdout_lines": [" 21:00:08 up 11:44, 2 users, load average: 0.28, 0.25, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004510", "end": "2025-12-19 21:00:08.626388", "msg": "", "rc": 0, "start": "2025-12-19 21:00:08.621878", "stderr": "", "stderr_lines": [], "stdout": " 21:00:08 up 24 days, 9:24, 1 user, load average: 0.92, 0.74, 0.68", "stdout_lines": [" 21:00:08 up 24 days, 9:24, 1 user, load average: 0.92, 0.74, 0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002802", "end": "2025-12-19 20:59:40.209414", "msg": "", "rc": 0, "start": "2025-12-19 20:59:40.206612", "stderr": "", "stderr_lines": [], "stdout": " 20:59:40 up 13 days, 8:49, 0 user, load average: 0.11, 0.06, 0.08", "stdout_lines": [" 20:59:40 up 13 days, 8:49, 0 user, load average: 0.11, 0.06, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003729", "end": "2025-12-19 20:59:33.003753", "msg": "", "rc": 0, "start": "2025-12-19 20:59:33.000024", "stderr": "", "stderr_lines": [], "stdout": " 20:59:33 up 20 days, 5:01, 0 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 20:59:33 up 20 days, 5:01, 0 user, load average: 0.01, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008436", "end": "2025-12-19 21:00:09.251979", "msg": "", "rc": 0, "start": "2025-12-19 21:00:09.243543", "stderr": "", "stderr_lines": [], "stdout": " 21:00:09 up 196 days, 12:33, 1 user, load average: 0.30, 0.19, 0.13", "stdout_lines": [" 21:00:09 up 196 days, 12:33, 1 user, load average: 0.30, 0.19, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009106", "end": "2025-12-19 21:00:09.330487", "msg": "", "rc": 0, "start": "2025-12-19 21:00:09.321381", "stderr": "", "stderr_lines": [], "stdout": " 21:00:09 up 196 days, 12:32, 1 user, load average: 0.29, 0.22, 0.19", "stdout_lines": [" 21:00:09 up 196 days, 12:32, 1 user, load average: 0.29, 0.22, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004398", "end": "2025-12-19 21:00:09.528158", "msg": "", "rc": 0, "start": "2025-12-19 21:00:09.523760", "stderr": "", "stderr_lines": [], "stdout": " 21:00:09 up 11:43, 1 user, load average: 0.06, 0.03, 0.00", "stdout_lines": [" 21:00:09 up 11:43, 1 user, load average: 0.06, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003455", "end": "2025-12-19 20:59:36.215325", "msg": "", "rc": 0, "start": "2025-12-19 20:59:36.211870", "stderr": "", "stderr_lines": [], "stdout": " 20:59:36 up 22 days, 23:53, 0 user, load average: 0.45, 0.44, 0.45", "stdout_lines": [" 20:59:36 up 22 days, 23:53, 0 user, load average: 0.45, 0.44, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003298", "end": "2025-12-19 20:59:43.533764", "msg": "", "rc": 0, "start": "2025-12-19 20:59:43.530466", "stderr": "", "stderr_lines": [], "stdout": " 20:59:43 up 19 days, 10:15, 0 user, load average: 0.69, 0.42, 0.32", "stdout_lines": [" 20:59:43 up 19 days, 10:15, 0 user, load average: 0.69, 0.42, 0.32"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004372", "end": "2025-12-19 18:00:09.805980", "msg": "", "rc": 0, "start": "2025-12-19 18:00:09.801608", "stderr": "", "stderr_lines": [], "stdout": " 6:00PM up 24 days, 7:49, 1 user, load averages: 0.62, 0.33, 0.26", "stdout_lines": [" 6:00PM up 24 days, 7:49, 1 user, load averages: 0.62, 0.33, 0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003645", "end": "2025-12-19 21:00:09.940920", "msg": "", "rc": 0, "start": "2025-12-19 21:00:09.937275", "stderr": "", "stderr_lines": [], "stdout": " 21:00:09 up 11:43, 1 user, load average: 0.15, 0.18, 0.10", "stdout_lines": [" 21:00:09 up 11:43, 1 user, load average: 0.15, 0.18, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006010", "end": "2025-12-19 21:00:11.284764", "msg": "", "rc": 0, "start": "2025-12-19 21:00:11.278754", "stderr": "", "stderr_lines": [], "stdout": " 21:00:11 up 7:32, 1 user, load average: 1.19, 1.18, 1.22", "stdout_lines": [" 21:00:11 up 7:32, 1 user, load average: 1.19, 1.18, 1.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020266", "end": "2025-12-19 21:00:09.964358", "msg": "", "rc": 0, "start": "2025-12-19 21:00:09.944092", "stderr": "", "stderr_lines": [], "stdout": " 21:00:09 up 17 days, 10:26, 1 user, load average: 0.29, 0.14, 0.10", "stdout_lines": [" 21:00:09 up 17 days, 10:26, 1 user, load average: 0.29, 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.004162", "end": "2025-12-19 21:00:10.489109", "msg": "", "rc": 0, "start": "2025-12-19 21:00:10.484947", "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.004823", "end": "2025-12-19 21:00:10.511039", "msg": "", "rc": 0, "start": "2025-12-19 21:00:10.506216", "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.004085", "end": "2025-12-19 21:00:10.520175", "msg": "", "rc": 0, "start": "2025-12-19 21:00:10.516090", "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.004794", "end": "2025-12-19 21:00:10.541417", "msg": "", "rc": 0, "start": "2025-12-19 21:00:10.536623", "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.005717", "end": "2025-12-19 21:00:10.565791", "msg": "", "rc": 0, "start": "2025-12-19 21:00:10.560074", "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.005218", "end": "2025-12-19 20:59:42.152398", "msg": "", "rc": 0, "start": "2025-12-19 20:59:42.147180", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006130", "end": "2025-12-19 20:59:34.946290", "msg": "", "rc": 0, "start": "2025-12-19 20:59:34.940160", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011058", "end": "2025-12-19 21:00:11.304354", "msg": "", "rc": 0, "start": "2025-12-19 21:00:11.293296", "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.005689", "end": "2025-12-19 21:00:11.476754", "msg": "", "rc": 0, "start": "2025-12-19 21:00:11.471065", "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.005284", "end": "2025-12-19 20:59:38.137868", "msg": "", "rc": 0, "start": "2025-12-19 20:59:38.132584", "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.004806", "end": "2025-12-19 20:59:45.591850", "msg": "", "rc": 0, "start": "2025-12-19 20:59:45.587044", "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.006459", "end": "2025-12-19 18:00:11.921739", "msg": "", "rc": 0, "start": "2025-12-19 18:00:11.915280", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025697", "end": "2025-12-19 21:00:11.892725", "msg": "", "rc": 0, "start": "2025-12-19 21:00:11.867028", "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.005370", "end": "2025-12-19 21:00:12.157026", "msg": "", "rc": 0, "start": "2025-12-19 21:00:12.151656", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011228", "end": "2025-12-19 21:00:12.116988", "msg": "", "rc": 0, "start": "2025-12-19 21:00:12.105760", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.016777", "end": "2025-12-19 21:00:14.128352", "msg": "", "rc": 0, "start": "2025-12-19 21:00:14.111575", "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.004260", "end": "2025-12-19 21:00:13.044519", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.040259", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004227", "end": "2025-12-19 21:00:13.059995", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.055768", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.005069", "end": "2025-12-19 21:00:13.076261", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.071192", "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.005132", "end": "2025-12-19 21:00:13.109740", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.104608", "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.006015", "end": "2025-12-19 21:00:13.120854", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.114839", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003904", "end": "2025-12-19 20:59:44.710303", "msg": "", "rc": 0, "start": "2025-12-19 20:59:44.706399", "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.004807", "end": "2025-12-19 20:59:37.474298", "msg": "", "rc": 0, "start": "2025-12-19 20:59:37.469491", "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.010746", "end": "2025-12-19 21:00:13.724378", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.713632", "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.012373", "end": "2025-12-19 21:00:13.789498", "msg": "", "rc": 0, "start": "2025-12-19 21:00:13.777125", "stderr": "", "stderr_lines": [], "stdout": "14.3%", "stdout_lines": ["14.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.005885", "end": "2025-12-19 21:00:14.035915", "msg": "", "rc": 0, "start": "2025-12-19 21:00:14.030030", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004206", "end": "2025-12-19 20:59:40.643899", "msg": "", "rc": 0, "start": "2025-12-19 20:59:40.639693", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003505", "end": "2025-12-19 20:59:47.988234", "msg": "", "rc": 0, "start": "2025-12-19 20:59:47.984729", "stderr": "", "stderr_lines": [], "stdout": "58.3%", "stdout_lines": ["58.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.005227", "end": "2025-12-19 18:00:14.253946", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:00:14.248719", "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.005432", "end": "2025-12-19 21:00:14.462680", "msg": "", "rc": 0, "start": "2025-12-19 21:00:14.457248", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009125", "end": "2025-12-19 21:00:16.157795", "msg": "", "rc": 0, "start": "2025-12-19 21:00:16.148670", "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.026199", "end": "2025-12-19 21:00:14.527378", "msg": "", "rc": 0, "start": "2025-12-19 21:00:14.501179", "stderr": "", "stderr_lines": [], "stdout": "18.0%", "stdout_lines": ["18.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.005228", "end": "2025-12-19 21:00:15.068412", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.063184", "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-19 21:00:15.102661", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.097832", "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.005758", "end": "2025-12-19 21:00:15.110727", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.104969", "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.003353", "end": "2025-12-19 21:00:15.117014", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.113661", "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.006751", "end": "2025-12-19 21:00:15.145319", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.138568", "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.003021", "end": "2025-12-19 20:59:46.766657", "msg": "", "rc": 0, "start": "2025-12-19 20:59:46.763636", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003197", "end": "2025-12-19 20:59:39.507852", "msg": "", "rc": 0, "start": "2025-12-19 20:59:39.504655", "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.011669", "end": "2025-12-19 21:00:15.781561", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.769892", "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.012815", "end": "2025-12-19 21:00:15.838352", "msg": "", "rc": 0, "start": "2025-12-19 21:00:15.825537", "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.003169", "end": "2025-12-19 21:00:16.083006", "msg": "", "rc": 0, "start": "2025-12-19 21:00:16.079837", "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.002634", "end": "2025-12-19 20:59:42.682622", "msg": "", "rc": 0, "start": "2025-12-19 20:59:42.679988", "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.002999", "end": "2025-12-19 20:59:50.048101", "msg": "", "rc": 0, "start": "2025-12-19 20:59:50.045102", "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.004015", "end": "2025-12-19 18:00:16.290106", "msg": "", "rc": 0, "start": "2025-12-19 18:00:16.286091", "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.002885", "end": "2025-12-19 21:00:16.493393", "msg": "", "rc": 0, "start": "2025-12-19 21:00:16.490508", "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.004972", "end": "2025-12-19 21:00:18.380871", "msg": "", "rc": 0, "start": "2025-12-19 21:00:18.375899", "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.028902", "end": "2025-12-19 21:00:16.469358", "msg": "", "rc": 0, "start": "2025-12-19 21:00:16.440456", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004137", "end": "2025-12-19 21:00:16.974784", "msg": "", "rc": 0, "start": "2025-12-19 21:00:16.970647", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003949", "end": "2025-12-19 21:00:17.005938", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.001989", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004600", "end": "2025-12-19 21:00:17.025468", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.020868", "stderr": "", "stderr_lines": [], "stdout": "1.02", "stdout_lines": ["1.02"]}
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.004949", "end": "2025-12-19 21:00:17.044700", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.039751", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005270", "end": "2025-12-19 21:00:17.061278", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.056008", "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.005304", "end": "2025-12-19 20:59:48.656121", "msg": "", "rc": 0, "start": "2025-12-19 20:59:48.650817", "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.004978", "end": "2025-12-19 20:59:41.405460", "msg": "", "rc": 0, "start": "2025-12-19 20:59:41.400482", "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.010142", "end": "2025-12-19 21:00:17.770249", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.760107", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011074", "end": "2025-12-19 21:00:17.793717", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.782643", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.005437", "end": "2025-12-19 21:00:17.975071", "msg": "", "rc": 0, "start": "2025-12-19 21:00:17.969634", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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-19 20:59:44.580942", "msg": "", "rc": 0, "start": "2025-12-19 20:59:44.575947", "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.005911", "end": "2025-12-19 18:00:18.250524", "msg": "", "rc": 0, "start": "2025-12-19 18:00:18.244613", "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.004735", "end": "2025-12-19 20:59:52.081780", "msg": "", "rc": 0, "start": "2025-12-19 20:59:52.077045", "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.005156", "end": "2025-12-19 21:00:18.403021", "msg": "", "rc": 0, "start": "2025-12-19 21:00:18.397865", "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.007445", "end": "2025-12-19 21:00:20.481606", "msg": "", "rc": 0, "start": "2025-12-19 21:00:20.474161", "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.024876", "end": "2025-12-19 21:00:18.379220", "msg": "", "rc": 0, "start": "2025-12-19 21:00:18.354344", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:08 up 11:44, 2 users, load average: 0.28, 0.25, 0.21\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.39\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:08 up 24 days, 7:51, 1 user, load average: 0.15, 0.14, 0.11\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.28\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:08 up 24 days, 8:11, 1 user, load average: 0.85, 0.66, 0.66\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.02\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:08 up 24 days, 9:24, 1 user, load average: 0.92, 0.74, 0.68\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.92\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:08 up 24 days, 10:10, 1 user, load average: 0.05, 0.05, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:09 up 17 days, 10:26, 1 user, load average: 0.29, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 18.0%\nCPU Load: 0.33\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:09 up 196 days, 12:32, 1 user, load average: 0.29, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 14.3%\nCPU Load: 0.77\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:09 up 196 days, 12:33, 1 user, load average: 0.30, 0.19, 0.13\nDisk Usage: 3%\nMemory Usage: 7.1%\nCPU Load: 0.28\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:59:40 up 13 days, 8:49, 0 user, load average: 0.11, 0.06, 0.08\nDisk Usage: 50%\nMemory Usage: 70.7%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:59:33 up 20 days, 5:01, 0 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 25%\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: 21:00:09 up 11:43, 1 user, load average: 0.06, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:59:36 up 22 days, 23:53, 0 user, load average: 0.45, 0.44, 0.45\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 20:59:43 up 19 days, 10:15, 0 user, load average: 0.69, 0.42, 0.32\nDisk Usage: 76%\nMemory Usage: 58.3%\nCPU Load: 0.81\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:00PM up 24 days, 7:49, 1 user, load averages: 0.62, 0.33, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:09 up 11:43, 1 user, load average: 0.15, 0.18, 0.10\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:00:11 up 7:32, 1 user, load average: 1.19, 1.18, 1.22\nDisk Usage: 1%\nMemory Usage: 13.2%\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-20T02:00:21.521057+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6be93de503134558b2b0f7b099b1b147` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:05:00.006784+00:00 |
| **Fin** | 2025-12-20T02:05:21.131822+00:00 |
| **Durée** | 21.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003269", "end": "2025-12-19 21:05:09.911579", "msg": "", "rc": 0, "start": "2025-12-19 21:05:09.908310", "stderr": "", "stderr_lines": [], "stdout": " 21:05:09 up 24 days, 7:56, 1 user, load average: 0.19, 0.14, 0.11", "stdout_lines": [" 21:05:09 up 24 days, 7:56, 1 user, load average: 0.19, 0.14, 0.11"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003259", "end": "2025-12-19 21:05:09.924172", "msg": "", "rc": 0, "start": "2025-12-19 21:05:09.920913", "stderr": "", "stderr_lines": [], "stdout": " 21:05:09 up 24 days, 8:16, 1 user, load average: 0.88, 0.82, 0.74", "stdout_lines": [" 21:05:09 up 24 days, 8:16, 1 user, load average: 0.88, 0.82, 0.74"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003507", "end": "2025-12-19 21:05:09.928339", "msg": "", "rc": 0, "start": "2025-12-19 21:05:09.924832", "stderr": "", "stderr_lines": [], "stdout": " 21:05:09 up 24 days, 10:15, 1 user, load average: 0.11, 0.07, 0.01", "stdout_lines": [" 21:05:09 up 24 days, 10:15, 1 user, load average: 0.11, 0.07, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002881", "end": "2025-12-19 21:05:09.957572", "msg": "", "rc": 0, "start": "2025-12-19 21:05:09.954691", "stderr": "", "stderr_lines": [], "stdout": " 21:05:09 up 11:49, 1 user, load average: 0.14, 0.23, 0.22", "stdout_lines": [" 21:05:09 up 11:49, 1 user, load average: 0.14, 0.23, 0.22"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004158", "end": "2025-12-19 21:05:09.959332", "msg": "", "rc": 0, "start": "2025-12-19 21:05:09.955174", "stderr": "", "stderr_lines": [], "stdout": " 21:05:09 up 24 days, 9:29, 1 user, load average: 0.64, 0.67, 0.65", "stdout_lines": [" 21:05:09 up 24 days, 9:29, 1 user, load average: 0.64, 0.67, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002932", "end": "2025-12-19 21:04:41.563868", "msg": "", "rc": 0, "start": "2025-12-19 21:04:41.560936", "stderr": "", "stderr_lines": [], "stdout": " 21:04:41 up 13 days, 8:54, 0 user, load average: 0.18, 0.16, 0.11", "stdout_lines": [" 21:04:41 up 13 days, 8:54, 0 user, load average: 0.18, 0.16, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004667", "end": "2025-12-19 21:04:34.351245", "msg": "", "rc": 0, "start": "2025-12-19 21:04:34.346578", "stderr": "", "stderr_lines": [], "stdout": " 21:04:34 up 20 days, 5:06, 0 user, load average: 0.16, 0.05, 0.01", "stdout_lines": [" 21:04:34 up 20 days, 5:06, 0 user, load average: 0.16, 0.05, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008621", "end": "2025-12-19 21:05:10.599338", "msg": "", "rc": 0, "start": "2025-12-19 21:05:10.590717", "stderr": "", "stderr_lines": [], "stdout": " 21:05:10 up 196 days, 12:38, 1 user, load average: 0.16, 0.19, 0.15", "stdout_lines": [" 21:05:10 up 196 days, 12:38, 1 user, load average: 0.16, 0.19, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009667", "end": "2025-12-19 21:05:10.668357", "msg": "", "rc": 0, "start": "2025-12-19 21:05:10.658690", "stderr": "", "stderr_lines": [], "stdout": " 21:05:10 up 196 days, 12:38, 1 user, load average: 0.41, 0.30, 0.23", "stdout_lines": [" 21:05:10 up 196 days, 12:38, 1 user, load average: 0.41, 0.30, 0.23"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004545", "end": "2025-12-19 21:05:10.896033", "msg": "", "rc": 0, "start": "2025-12-19 21:05:10.891488", "stderr": "", "stderr_lines": [], "stdout": " 21:05:10 up 11:48, 1 user, load average: 0.08, 0.08, 0.02", "stdout_lines": [" 21:05:10 up 11:48, 1 user, load average: 0.08, 0.08, 0.02"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002764", "end": "2025-12-19 21:04:44.853452", "msg": "", "rc": 0, "start": "2025-12-19 21:04:44.850688", "stderr": "", "stderr_lines": [], "stdout": " 21:04:44 up 19 days, 10:20, 0 user, load average: 0.49, 0.51, 0.39", "stdout_lines": [" 21:04:44 up 19 days, 10:20, 0 user, load average: 0.49, 0.51, 0.39"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003395", "end": "2025-12-19 21:04:37.551836", "msg": "", "rc": 0, "start": "2025-12-19 21:04:37.548441", "stderr": "", "stderr_lines": [], "stdout": " 21:04:37 up 22 days, 23:58, 0 user, load average: 0.72, 0.49, 0.46", "stdout_lines": [" 21:04:37 up 22 days, 23:58, 0 user, load average: 0.72, 0.49, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004204", "end": "2025-12-19 18:05:11.129615", "msg": "", "rc": 0, "start": "2025-12-19 18:05:11.125411", "stderr": "", "stderr_lines": [], "stdout": " 6:05PM up 24 days, 7:54, 1 user, load averages: 0.33, 0.31, 0.26", "stdout_lines": [" 6:05PM up 24 days, 7:54, 1 user, load averages: 0.33, 0.31, 0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003807", "end": "2025-12-19 21:05:11.324572", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.320765", "stderr": "", "stderr_lines": [], "stdout": " 21:05:11 up 11:48, 1 user, load average: 0.08, 0.10, 0.08", "stdout_lines": [" 21:05:11 up 11:48, 1 user, load average: 0.08, 0.10, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005641", "end": "2025-12-19 21:05:11.703036", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.697395", "stderr": "", "stderr_lines": [], "stdout": " 21:05:11 up 7:38, 1 user, load average: 1.37, 1.20, 1.21", "stdout_lines": [" 21:05:11 up 7:38, 1 user, load average: 1.37, 1.20, 1.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019927", "end": "2025-12-19 21:05:11.311546", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.291619", "stderr": "", "stderr_lines": [], "stdout": " 21:05:11 up 17 days, 10:31, 1 user, load average: 0.24, 0.16, 0.10", "stdout_lines": [" 21:05:11 up 17 days, 10:31, 1 user, load average: 0.24, 0.16, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004317", "end": "2025-12-19 21:05:11.849704", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.845387", "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.004113", "end": "2025-12-19 21:05:11.886625", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.882512", "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.004700", "end": "2025-12-19 21:05:11.894244", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.889544", "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.004631", "end": "2025-12-19 21:05:11.941267", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.936636", "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.012093", "end": "2025-12-19 21:05:11.960887", "msg": "", "rc": 0, "start": "2025-12-19 21:05:11.948794", "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.004952", "end": "2025-12-19 21:04:43.524194", "msg": "", "rc": 0, "start": "2025-12-19 21:04:43.519242", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006800", "end": "2025-12-19 21:04:36.343744", "msg": "", "rc": 0, "start": "2025-12-19 21:04:36.336944", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011198", "end": "2025-12-19 21:05:12.617217", "msg": "", "rc": 0, "start": "2025-12-19 21:05:12.606019", "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.011858", "end": "2025-12-19 21:05:12.643446", "msg": "", "rc": 0, "start": "2025-12-19 21:05:12.631588", "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.005687", "end": "2025-12-19 21:05:12.839991", "msg": "", "rc": 0, "start": "2025-12-19 21:05:12.834304", "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.005153", "end": "2025-12-19 21:04:39.506797", "msg": "", "rc": 0, "start": "2025-12-19 21:04:39.501644", "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.005359", "end": "2025-12-19 18:05:13.112792", "msg": "", "rc": 0, "start": "2025-12-19 18:05:13.107433", "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.004564", "end": "2025-12-19 21:04:46.882016", "msg": "", "rc": 0, "start": "2025-12-19 21:04:46.877452", "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.005288", "end": "2025-12-19 21:05:13.264916", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.259628", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008513", "end": "2025-12-19 21:05:13.855305", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.846792", "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.025919", "end": "2025-12-19 21:05:13.241750", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.215831", "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.004308", "end": "2025-12-19 21:05:13.755388", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.751080", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004205", "end": "2025-12-19 21:05:13.771253", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.767048", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004618", "end": "2025-12-19 21:05:13.792100", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.787482", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005181", "end": "2025-12-19 21:05:13.811661", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.806480", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005654", "end": "2025-12-19 21:05:13.823915", "msg": "", "rc": 0, "start": "2025-12-19 21:05:13.818261", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003940", "end": "2025-12-19 21:04:45.395143", "msg": "", "rc": 0, "start": "2025-12-19 21:04:45.391203", "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.004219", "end": "2025-12-19 21:04:38.176327", "msg": "", "rc": 0, "start": "2025-12-19 21:04:38.172108", "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.010780", "end": "2025-12-19 21:05:14.441106", "msg": "", "rc": 0, "start": "2025-12-19 21:05:14.430326", "stderr": "", "stderr_lines": [], "stdout": "7.3%", "stdout_lines": ["7.3%"]}
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.011793", "end": "2025-12-19 21:05:14.482818", "msg": "", "rc": 0, "start": "2025-12-19 21:05:14.471025", "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.005671", "end": "2025-12-19 21:05:14.708750", "msg": "", "rc": 0, "start": "2025-12-19 21:05:14.703079", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004119", "end": "2025-12-19 21:04:41.348769", "msg": "", "rc": 0, "start": "2025-12-19 21:04:41.344650", "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.005138", "end": "2025-12-19 18:05:14.944582", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:05:14.939444", "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.003821", "end": "2025-12-19 21:04:48.699914", "msg": "", "rc": 0, "start": "2025-12-19 21:04:48.696093", "stderr": "", "stderr_lines": [], "stdout": "57.7%", "stdout_lines": ["57.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.005436", "end": "2025-12-19 21:05:15.152256", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.146820", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008573", "end": "2025-12-19 21:05:15.876284", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.867711", "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.026069", "end": "2025-12-19 21:05:15.151775", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.125706", "stderr": "", "stderr_lines": [], "stdout": "18.1%", "stdout_lines": ["18.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.005331", "end": "2025-12-19 21:05:15.677695", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.672364", "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.004850", "end": "2025-12-19 21:05:15.705074", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.700224", "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.005416", "end": "2025-12-19 21:05:15.721475", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.716059", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003563", "end": "2025-12-19 21:05:15.732840", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.729277", "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.006904", "end": "2025-12-19 21:05:15.746245", "msg": "", "rc": 0, "start": "2025-12-19 21:05:15.739341", "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.002596", "end": "2025-12-19 21:04:47.334750", "msg": "", "rc": 0, "start": "2025-12-19 21:04:47.332154", "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.003450", "end": "2025-12-19 21:04:40.123150", "msg": "", "rc": 0, "start": "2025-12-19 21:04:40.119700", "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-19 21:05:16.385948", "msg": "", "rc": 0, "start": "2025-12-19 21:05:16.374244", "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.012966", "end": "2025-12-19 21:05:16.428116", "msg": "", "rc": 0, "start": "2025-12-19 21:05:16.415150", "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.003113", "end": "2025-12-19 21:05:16.653379", "msg": "", "rc": 0, "start": "2025-12-19 21:05:16.650266", "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-19 21:04:43.285258", "msg": "", "rc": 0, "start": "2025-12-19 21:04:43.282235", "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.002429", "end": "2025-12-19 21:04:50.621565", "msg": "", "rc": 0, "start": "2025-12-19 21:04:50.619136", "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.003898", "end": "2025-12-19 18:05:16.876284", "msg": "", "rc": 0, "start": "2025-12-19 18:05:16.872386", "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.002899", "end": "2025-12-19 21:05:17.074508", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.071609", "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.004687", "end": "2025-12-19 21:05:18.016620", "msg": "", "rc": 0, "start": "2025-12-19 21:05:18.011933", "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.029319", "end": "2025-12-19 21:05:17.085301", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.055982", "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.004062", "end": "2025-12-19 21:05:17.615816", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.611754", "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.004658", "end": "2025-12-19 21:05:17.624860", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.620202", "stderr": "", "stderr_lines": [], "stdout": "0.89", "stdout_lines": ["0.89"]}
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.004002", "end": "2025-12-19 21:05:17.632791", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.628789", "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.004714", "end": "2025-12-19 21:05:17.662750", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.658036", "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.005593", "end": "2025-12-19 21:05:17.670283", "msg": "", "rc": 0, "start": "2025-12-19 21:05:17.664690", "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.004204", "end": "2025-12-19 21:04:49.274172", "msg": "", "rc": 0, "start": "2025-12-19 21:04:49.269968", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005316", "end": "2025-12-19 21:04:42.054298", "msg": "", "rc": 0, "start": "2025-12-19 21:04:42.048982", "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.010184", "end": "2025-12-19 21:05:18.419085", "msg": "", "rc": 0, "start": "2025-12-19 21:05:18.408901", "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.011203", "end": "2025-12-19 21:05:18.446289", "msg": "", "rc": 0, "start": "2025-12-19 21:05:18.435086", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.006146", "end": "2025-12-19 21:05:18.595561", "msg": "", "rc": 0, "start": "2025-12-19 21:05:18.589415", "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.005253", "end": "2025-12-19 21:04:45.232559", "msg": "", "rc": 0, "start": "2025-12-19 21:04:45.227306", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005941", "end": "2025-12-19 18:05:18.910568", "msg": "", "rc": 0, "start": "2025-12-19 18:05:18.904627", "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.004108", "end": "2025-12-19 21:04:52.669948", "msg": "", "rc": 0, "start": "2025-12-19 21:04:52.665840", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005216", "end": "2025-12-19 21:05:19.024525", "msg": "", "rc": 0, "start": "2025-12-19 21:05:19.019309", "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.007130", "end": "2025-12-19 21:05:20.157116", "msg": "", "rc": 0, "start": "2025-12-19 21:05:20.149986", "stderr": "", "stderr_lines": [], "stdout": "1.34", "stdout_lines": ["1.34"]}
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.024780", "end": "2025-12-19 21:05:19.033024", "msg": "", "rc": 0, "start": "2025-12-19 21:05:19.008244", "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: 21:05:09 up 11:49, 1 user, load average: 0.14, 0.23, 0.22\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.20\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:09 up 24 days, 7:56, 1 user, load average: 0.19, 0.14, 0.11\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:09 up 24 days, 8:16, 1 user, load average: 0.88, 0.82, 0.74\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.89\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:09 up 24 days, 9:29, 1 user, load average: 0.64, 0.67, 0.65\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.59\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:09 up 24 days, 10:15, 1 user, load average: 0.11, 0.07, 0.01\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:11 up 17 days, 10:31, 1 user, load average: 0.24, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 18.1%\nCPU Load: 0.28\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:10 up 196 days, 12:38, 1 user, load average: 0.41, 0.30, 0.23\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.50\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:10 up 196 days, 12:38, 1 user, load average: 0.16, 0.19, 0.15\nDisk Usage: 3%\nMemory Usage: 7.3%\nCPU Load: 0.29\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:04:41 up 13 days, 8:54, 0 user, load average: 0.18, 0.16, 0.11\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:04:34 up 20 days, 5:06, 0 user, load average: 0.16, 0.05, 0.01\nDisk Usage: 25%\nMemory Usage: 64.5%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:10 up 11:48, 1 user, load average: 0.08, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:04:37 up 22 days, 23:58, 0 user, load average: 0.72, 0.49, 0.46\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.66\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:04:44 up 19 days, 10:20, 0 user, load average: 0.49, 0.51, 0.39\nDisk Usage: 76%\nMemory Usage: 57.7%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:05PM up 24 days, 7:54, 1 user, load averages: 0.33, 0.31, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:11 up 11:48, 1 user, load average: 0.08, 0.10, 0.08\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:05:11 up 7:38, 1 user, load average: 1.37, 1.20, 1.21\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.34\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-20T02:05:21.189238+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `db806112c0fa45f7abee1ae5f4dc41dd` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:10:00.006970+00:00 |
| **Fin** | 2025-12-20T02:10:24.203115+00:00 |
| **Durée** | 24.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [orangepi.pc.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003243", "end": "2025-12-19 21:10:10.330576", "msg": "", "rc": 0, "start": "2025-12-19 21:10:10.327333", "stderr": "", "stderr_lines": [], "stdout": " 21:10:10 up 24 days, 8:01, 1 user, load average: 0.16, 0.11, 0.09", "stdout_lines": [" 21:10:10 up 24 days, 8:01, 1 user, load average: 0.16, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003517", "end": "2025-12-19 21:10:10.342516", "msg": "", "rc": 0, "start": "2025-12-19 21:10:10.338999", "stderr": "", "stderr_lines": [], "stdout": " 21:10:10 up 24 days, 10:20, 1 user, load average: 0.11, 0.09, 0.02", "stdout_lines": [" 21:10:10 up 24 days, 10:20, 1 user, load average: 0.11, 0.09, 0.02"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003331", "end": "2025-12-19 21:10:10.341882", "msg": "", "rc": 0, "start": "2025-12-19 21:10:10.338551", "stderr": "", "stderr_lines": [], "stdout": " 21:10:10 up 24 days, 8:21, 1 user, load average: 0.70, 0.75, 0.72", "stdout_lines": [" 21:10:10 up 24 days, 8:21, 1 user, load average: 0.70, 0.75, 0.72"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002821", "end": "2025-12-19 21:10:10.366601", "msg": "", "rc": 0, "start": "2025-12-19 21:10:10.363780", "stderr": "", "stderr_lines": [], "stdout": " 21:10:10 up 11:54, 1 user, load average: 0.33, 0.25, 0.21", "stdout_lines": [" 21:10:10 up 11:54, 1 user, load average: 0.33, 0.25, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003983", "end": "2025-12-19 21:10:10.376415", "msg": "", "rc": 0, "start": "2025-12-19 21:10:10.372432", "stderr": "", "stderr_lines": [], "stdout": " 21:10:10 up 24 days, 9:34, 1 user, load average: 0.58, 0.66, 0.65", "stdout_lines": [" 21:10:10 up 24 days, 9:34, 1 user, load average: 0.58, 0.66, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003161", "end": "2025-12-19 21:09:42.064786", "msg": "", "rc": 0, "start": "2025-12-19 21:09:42.061625", "stderr": "", "stderr_lines": [], "stdout": " 21:09:42 up 13 days, 8:59, 0 user, load average: 0.11, 0.11, 0.09", "stdout_lines": [" 21:09:42 up 13 days, 8:59, 0 user, load average: 0.11, 0.11, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004259", "end": "2025-12-19 21:09:34.892811", "msg": "", "rc": 0, "start": "2025-12-19 21:09:34.888552", "stderr": "", "stderr_lines": [], "stdout": " 21:09:34 up 20 days, 5:11, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 21:09:34 up 20 days, 5:11, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008407", "end": "2025-12-19 21:10:11.126787", "msg": "", "rc": 0, "start": "2025-12-19 21:10:11.118380", "stderr": "", "stderr_lines": [], "stdout": " 21:10:11 up 196 days, 12:43, 1 user, load average: 0.19, 0.18, 0.16", "stdout_lines": [" 21:10:11 up 196 days, 12:43, 1 user, load average: 0.19, 0.18, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009194", "end": "2025-12-19 21:10:11.192384", "msg": "", "rc": 0, "start": "2025-12-19 21:10:11.183190", "stderr": "", "stderr_lines": [], "stdout": " 21:10:11 up 196 days, 12:43, 1 user, load average: 0.16, 0.23, 0.22", "stdout_lines": [" 21:10:11 up 196 days, 12:43, 1 user, load average: 0.16, 0.23, 0.22"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004600", "end": "2025-12-19 21:10:11.398470", "msg": "", "rc": 0, "start": "2025-12-19 21:10:11.393870", "stderr": "", "stderr_lines": [], "stdout": " 21:10:11 up 11:53, 1 user, load average: 0.02, 0.03, 0.00", "stdout_lines": [" 21:10:11 up 11:53, 1 user, load average: 0.02, 0.03, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003065", "end": "2025-12-19 21:09:45.412582", "msg": "", "rc": 0, "start": "2025-12-19 21:09:45.409517", "stderr": "", "stderr_lines": [], "stdout": " 21:09:45 up 19 days, 10:25, 0 user, load average: 0.19, 0.33, 0.34", "stdout_lines": [" 21:09:45 up 19 days, 10:25, 0 user, load average: 0.19, 0.33, 0.34"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003517", "end": "2025-12-19 21:09:38.118943", "msg": "", "rc": 0, "start": "2025-12-19 21:09:38.115426", "stderr": "", "stderr_lines": [], "stdout": " 21:09:38 up 23 days, 3 min, 0 user, load average: 0.39, 0.44, 0.45", "stdout_lines": [" 21:09:38 up 23 days, 3 min, 0 user, load average: 0.39, 0.44, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004164", "end": "2025-12-19 18:10:11.682027", "msg": "", "rc": 0, "start": "2025-12-19 18:10:11.677863", "stderr": "", "stderr_lines": [], "stdout": " 6:10PM up 24 days, 7:59, 1 user, load averages: 0.20, 0.25, 0.24", "stdout_lines": [" 6:10PM up 24 days, 7:59, 1 user, load averages: 0.20, 0.25, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003620", "end": "2025-12-19 21:10:11.871144", "msg": "", "rc": 0, "start": "2025-12-19 21:10:11.867524", "stderr": "", "stderr_lines": [], "stdout": " 21:10:11 up 11:53, 1 user, load average: 0.13, 0.10, 0.09", "stdout_lines": [" 21:10:11 up 11:53, 1 user, load average: 0.13, 0.10, 0.09"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019823", "end": "2025-12-19 21:10:11.807879", "msg": "", "rc": 0, "start": "2025-12-19 21:10:11.788056", "stderr": "", "stderr_lines": [], "stdout": " 21:10:11 up 17 days, 10:36, 1 user, load average: 0.11, 0.13, 0.09", "stdout_lines": [" 21:10:11 up 17 days, 10:36, 1 user, load average: 0.11, 0.13, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009008", "end": "2025-12-19 21:10:13.033275", "msg": "", "rc": 0, "start": "2025-12-19 21:10:13.024267", "stderr": "", "stderr_lines": [], "stdout": " 21:10:13 up 7:43, 1 user, load average: 1.24, 1.19, 1.19", "stdout_lines": [" 21:10:13 up 7:43, 1 user, load average: 1.24, 1.19, 1.19"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004166", "end": "2025-12-19 21:10:12.410849", "msg": "", "rc": 0, "start": "2025-12-19 21:10:12.406683", "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.004571", "end": "2025-12-19 21:10:12.424501", "msg": "", "rc": 0, "start": "2025-12-19 21:10:12.419930", "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.004093", "end": "2025-12-19 21:10:12.437756", "msg": "", "rc": 0, "start": "2025-12-19 21:10:12.433663", "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.004014", "end": "2025-12-19 21:10:12.472807", "msg": "", "rc": 0, "start": "2025-12-19 21:10:12.468793", "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.005726", "end": "2025-12-19 21:10:12.501066", "msg": "", "rc": 0, "start": "2025-12-19 21:10:12.495340", "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.004899", "end": "2025-12-19 21:09:44.079669", "msg": "", "rc": 0, "start": "2025-12-19 21:09:44.074770", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007148", "end": "2025-12-19 21:09:36.890717", "msg": "", "rc": 0, "start": "2025-12-19 21:09:36.883569", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011505", "end": "2025-12-19 21:10:13.153962", "msg": "", "rc": 0, "start": "2025-12-19 21:10:13.142457", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011513", "end": "2025-12-19 21:10:13.172450", "msg": "", "rc": 0, "start": "2025-12-19 21:10:13.160937", "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.005770", "end": "2025-12-19 21:10:13.426822", "msg": "", "rc": 0, "start": "2025-12-19 21:10:13.421052", "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.005712", "end": "2025-12-19 21:09:40.085367", "msg": "", "rc": 0, "start": "2025-12-19 21:09:40.079655", "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.005486", "end": "2025-12-19 18:10:13.649329", "msg": "", "rc": 0, "start": "2025-12-19 18:10:13.643843", "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.004508", "end": "2025-12-19 21:09:47.424946", "msg": "", "rc": 0, "start": "2025-12-19 21:09:47.420438", "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.005436", "end": "2025-12-19 21:10:13.844705", "msg": "", "rc": 0, "start": "2025-12-19 21:10:13.839269", "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.025880", "end": "2025-12-19 21:10:13.825094", "msg": "", "rc": 0, "start": "2025-12-19 21:10:13.799214", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.017003", "end": "2025-12-19 21:10:15.212673", "msg": "", "rc": 0, "start": "2025-12-19 21:10:15.195670", "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.004191", "end": "2025-12-19 21:10:14.368257", "msg": "", "rc": 0, "start": "2025-12-19 21:10:14.364066", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004131", "end": "2025-12-19 21:10:14.388627", "msg": "", "rc": 0, "start": "2025-12-19 21:10:14.384496", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004951", "end": "2025-12-19 21:10:14.385805", "msg": "", "rc": 0, "start": "2025-12-19 21:10:14.380854", "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.004791", "end": "2025-12-19 21:10:14.417662", "msg": "", "rc": 0, "start": "2025-12-19 21:10:14.412871", "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.005635", "end": "2025-12-19 21:10:14.443258", "msg": "", "rc": 0, "start": "2025-12-19 21:10:14.437623", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004482", "end": "2025-12-19 21:09:46.020300", "msg": "", "rc": 0, "start": "2025-12-19 21:09:46.015818", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004491", "end": "2025-12-19 21:09:38.814599", "msg": "", "rc": 0, "start": "2025-12-19 21:09:38.810108", "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.011262", "end": "2025-12-19 21:10:15.082296", "msg": "", "rc": 0, "start": "2025-12-19 21:10:15.071034", "stderr": "", "stderr_lines": [], "stdout": "7.3%", "stdout_lines": ["7.3%"]}
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.011667", "end": "2025-12-19 21:10:15.122212", "msg": "", "rc": 0, "start": "2025-12-19 21:10:15.110545", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.5%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005709", "end": "2025-12-19 21:10:15.354228", "msg": "", "rc": 0, "start": "2025-12-19 21:10:15.348519", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.004158", "end": "2025-12-19 21:09:41.989845", "msg": "", "rc": 0, "start": "2025-12-19 21:09:41.985687", "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.003733", "end": "2025-12-19 21:09:49.332750", "msg": "", "rc": 0, "start": "2025-12-19 21:09:49.329017", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.9%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006039", "end": "2025-12-19 18:10:15.580464", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:10:15.574425", "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.005355", "end": "2025-12-19 21:10:15.782039", "msg": "", "rc": 0, "start": "2025-12-19 21:10:15.776684", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009798", "end": "2025-12-19 21:10:17.286225", "msg": "", "rc": 0, "start": "2025-12-19 21:10:17.276427", "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.026207", "end": "2025-12-19 21:10:15.777688", "msg": "", "rc": 0, "start": "2025-12-19 21:10:15.751481", "stderr": "", "stderr_lines": [], "stdout": "18.1%", "stdout_lines": ["18.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.005283", "end": "2025-12-19 21:10:16.303510", "msg": "", "rc": 0, "start": "2025-12-19 21:10:16.298227", "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-19 21:10:16.324060", "msg": "", "rc": 0, "start": "2025-12-19 21:10:16.319225", "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.005379", "end": "2025-12-19 21:10:16.332268", "msg": "", "rc": 0, "start": "2025-12-19 21:10:16.326889", "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.003362", "end": "2025-12-19 21:10:16.362931", "msg": "", "rc": 0, "start": "2025-12-19 21:10:16.359569", "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.006158", "end": "2025-12-19 21:10:16.376288", "msg": "", "rc": 0, "start": "2025-12-19 21:10:16.370130", "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.002532", "end": "2025-12-19 21:09:47.961869", "msg": "", "rc": 0, "start": "2025-12-19 21:09:47.959337", "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.002956", "end": "2025-12-19 21:09:40.728221", "msg": "", "rc": 0, "start": "2025-12-19 21:09:40.725265", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011786", "end": "2025-12-19 21:10:16.998630", "msg": "", "rc": 0, "start": "2025-12-19 21:10:16.986844", "stderr": "", "stderr_lines": [], "stdout": "31.2°C", "stdout_lines": ["31.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012944", "end": "2025-12-19 21:10:17.030580", "msg": "", "rc": 0, "start": "2025-12-19 21:10:17.017636", "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.003124", "end": "2025-12-19 21:10:17.462556", "msg": "", "rc": 0, "start": "2025-12-19 21:10:17.459432", "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.002746", "end": "2025-12-19 21:09:44.134534", "msg": "", "rc": 0, "start": "2025-12-19 21:09:44.131788", "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.029420", "end": "2025-12-19 21:10:17.703053", "msg": "", "rc": 0, "start": "2025-12-19 21:10:17.673633", "stderr": "", "stderr_lines": [], "stdout": "36.1°C", "stdout_lines": ["36.1°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.003966", "end": "2025-12-19 18:10:17.999032", "msg": "", "rc": 0, "start": "2025-12-19 18:10:17.995066", "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.004061", "end": "2025-12-19 21:09:51.784140", "msg": "", "rc": 0, "start": "2025-12-19 21:09:51.780079", "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.002993", "end": "2025-12-19 21:10:18.054486", "msg": "", "rc": 0, "start": "2025-12-19 21:10:18.051493", "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.005724", "end": "2025-12-19 21:10:19.870781", "msg": "", "rc": 0, "start": "2025-12-19 21:10:19.865057", "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.004343", "end": "2025-12-19 21:10:18.804137", "msg": "", "rc": 0, "start": "2025-12-19 21:10:18.799794", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
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.004456", "end": "2025-12-19 21:10:18.794959", "msg": "", "rc": 0, "start": "2025-12-19 21:10:18.790503", "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.005155", "end": "2025-12-19 21:10:18.819978", "msg": "", "rc": 0, "start": "2025-12-19 21:10:18.814823", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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.004340", "end": "2025-12-19 21:10:18.837072", "msg": "", "rc": 0, "start": "2025-12-19 21:10:18.832732", "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.005254", "end": "2025-12-19 21:10:18.854388", "msg": "", "rc": 0, "start": "2025-12-19 21:10:18.849134", "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.004506", "end": "2025-12-19 21:09:50.649322", "msg": "", "rc": 0, "start": "2025-12-19 21:09:50.644816", "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.005381", "end": "2025-12-19 21:09:43.373329", "msg": "", "rc": 0, "start": "2025-12-19 21:09:43.367948", "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-19 21:10:19.715586", "msg": "", "rc": 0, "start": "2025-12-19 21:10:19.705402", "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.010942", "end": "2025-12-19 21:10:19.782271", "msg": "", "rc": 0, "start": "2025-12-19 21:10:19.771329", "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.005572", "end": "2025-12-19 21:10:20.004383", "msg": "", "rc": 0, "start": "2025-12-19 21:10:19.998811", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
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.005254", "end": "2025-12-19 21:09:46.571773", "msg": "", "rc": 0, "start": "2025-12-19 21:09:46.566519", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.004664", "end": "2025-12-19 21:09:54.026940", "msg": "", "rc": 0, "start": "2025-12-19 21:09:54.022276", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006103", "end": "2025-12-19 18:10:20.271335", "msg": "", "rc": 0, "start": "2025-12-19 18:10:20.265232", "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.024706", "end": "2025-12-19 21:10:20.315667", "msg": "", "rc": 0, "start": "2025-12-19 21:10:20.290961", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005199", "end": "2025-12-19 21:10:20.475436", "msg": "", "rc": 0, "start": "2025-12-19 21:10:20.470237", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
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.007531", "end": "2025-12-19 21:10:22.549785", "msg": "", "rc": 0, "start": "2025-12-19 21:10:22.542254", "stderr": "", "stderr_lines": [], "stdout": "1.52", "stdout_lines": ["1.52"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:10 up 24 days, 8:01, 1 user, load average: 0.16, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:10 up 11:54, 1 user, load average: 0.33, 0.25, 0.21\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.36\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:10 up 24 days, 8:21, 1 user, load average: 0.70, 0.75, 0.72\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.73\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:10 up 24 days, 9:34, 1 user, load average: 0.58, 0.66, 0.65\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.65\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:10 up 24 days, 10:20, 1 user, load average: 0.11, 0.09, 0.02\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: 21:10:11 up 17 days, 10:36, 1 user, load average: 0.11, 0.13, 0.09\nDisk Usage: 21%\nMemory Usage: 18.1%\nCPU Load: 0.17\nCPU Temp: 36.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:11 up 196 days, 12:43, 1 user, load average: 0.16, 0.23, 0.22\nDisk Usage: 6%\nMemory Usage: 14.5%\nCPU Load: 0.21\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:11 up 196 days, 12:43, 1 user, load average: 0.19, 0.18, 0.16\nDisk Usage: 3%\nMemory Usage: 7.3%\nCPU Load: 0.23\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:09:42 up 13 days, 8:59, 0 user, load average: 0.11, 0.11, 0.09\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:09:34 up 20 days, 5:11, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 25%\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: 21:10:11 up 11:53, 1 user, load average: 0.02, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:09:38 up 23 days, 3 min, 0 user, load average: 0.39, 0.44, 0.45\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:09:45 up 19 days, 10:25, 0 user, load average: 0.19, 0.33, 0.34\nDisk Usage: 76%\nMemory Usage: 58.9%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:10PM up 24 days, 7:59, 1 user, load averages: 0.20, 0.25, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:11 up 11:53, 1 user, load average: 0.13, 0.10, 0.09\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:10:13 up 7:43, 1 user, load average: 1.24, 1.19, 1.19\nDisk Usage: 1%\nMemory Usage: 12.9%\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-20T02:10:24.251452+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e7f8316341e34ec180b653847283f19a` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:15:00.006333+00:00 |
| **Fin** | 2025-12-20T02:15:24.861299+00:00 |
| **Durée** | 24.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: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003342", "end": "2025-12-19 21:15:11.732379", "msg": "", "rc": 0, "start": "2025-12-19 21:15:11.729037", "stderr": "", "stderr_lines": [], "stdout": " 21:15:11 up 24 days, 8:06, 1 user, load average: 0.15, 0.11, 0.09", "stdout_lines": [" 21:15:11 up 24 days, 8:06, 1 user, load average: 0.15, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003704", "end": "2025-12-19 21:15:11.751501", "msg": "", "rc": 0, "start": "2025-12-19 21:15:11.747797", "stderr": "", "stderr_lines": [], "stdout": " 21:15:11 up 24 days, 10:25, 1 user, load average: 0.16, 0.11, 0.03", "stdout_lines": [" 21:15:11 up 24 days, 10:25, 1 user, load average: 0.16, 0.11, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003301", "end": "2025-12-19 21:15:11.756043", "msg": "", "rc": 0, "start": "2025-12-19 21:15:11.752742", "stderr": "", "stderr_lines": [], "stdout": " 21:15:11 up 24 days, 8:26, 1 user, load average: 0.62, 0.58, 0.64", "stdout_lines": [" 21:15:11 up 24 days, 8:26, 1 user, load average: 0.62, 0.58, 0.64"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002907", "end": "2025-12-19 21:15:11.779848", "msg": "", "rc": 0, "start": "2025-12-19 21:15:11.776941", "stderr": "", "stderr_lines": [], "stdout": " 21:15:11 up 11:59, 1 user, load average: 0.07, 0.19, 0.19", "stdout_lines": [" 21:15:11 up 11:59, 1 user, load average: 0.07, 0.19, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003110", "end": "2025-12-19 21:14:43.371764", "msg": "", "rc": 0, "start": "2025-12-19 21:14:43.368654", "stderr": "", "stderr_lines": [], "stdout": " 21:14:43 up 13 days, 9:04, 0 user, load average: 0.05, 0.08, 0.08", "stdout_lines": [" 21:14:43 up 13 days, 9:04, 0 user, load average: 0.05, 0.08, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008535", "end": "2025-12-19 21:15:12.426677", "msg": "", "rc": 0, "start": "2025-12-19 21:15:12.418142", "stderr": "", "stderr_lines": [], "stdout": " 21:15:12 up 196 days, 12:48, 1 user, load average: 0.22, 0.14, 0.14", "stdout_lines": [" 21:15:12 up 196 days, 12:48, 1 user, load average: 0.22, 0.14, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010201", "end": "2025-12-19 21:15:12.519323", "msg": "", "rc": 0, "start": "2025-12-19 21:15:12.509122", "stderr": "", "stderr_lines": [], "stdout": " 21:15:12 up 196 days, 12:48, 1 user, load average: 0.13, 0.18, 0.19", "stdout_lines": [" 21:15:12 up 196 days, 12:48, 1 user, load average: 0.13, 0.18, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005566", "end": "2025-12-19 21:15:12.780936", "msg": "", "rc": 0, "start": "2025-12-19 21:15:11.775370", "stderr": "", "stderr_lines": [], "stdout": " 21:15:11 up 24 days, 9:39, 1 user, load average: 0.79, 0.69, 0.65", "stdout_lines": [" 21:15:11 up 24 days, 9:39, 1 user, load average: 0.79, 0.69, 0.65"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004055", "end": "2025-12-19 21:14:36.611986", "msg": "", "rc": 0, "start": "2025-12-19 21:14:36.607931", "stderr": "", "stderr_lines": [], "stdout": " 21:14:36 up 20 days, 5:16, 0 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 21:14:36 up 20 days, 5:16, 0 user, load average: 0.03, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004412", "end": "2025-12-19 21:15:12.924704", "msg": "", "rc": 0, "start": "2025-12-19 21:15:12.920292", "stderr": "", "stderr_lines": [], "stdout": " 21:15:12 up 11:58, 1 user, load average: 0.04, 0.05, 0.01", "stdout_lines": [" 21:15:12 up 11:58, 1 user, load average: 0.04, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003446", "end": "2025-12-19 21:14:39.589505", "msg": "", "rc": 0, "start": "2025-12-19 21:14:39.586059", "stderr": "", "stderr_lines": [], "stdout": " 21:14:39 up 23 days, 8 min, 0 user, load average: 0.91, 0.66, 0.54", "stdout_lines": [" 21:14:39 up 23 days, 8 min, 0 user, load average: 0.91, 0.66, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004174", "end": "2025-12-19 18:15:13.245760", "msg": "", "rc": 0, "start": "2025-12-19 18:15:13.241586", "stderr": "", "stderr_lines": [], "stdout": " 6:15PM up 24 days, 8:05, 1 user, load averages: 0.12, 0.20, 0.22", "stdout_lines": [" 6:15PM up 24 days, 8:05, 1 user, load averages: 0.12, 0.20, 0.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019850", "end": "2025-12-19 21:15:13.135246", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.115396", "stderr": "", "stderr_lines": [], "stdout": " 21:15:13 up 17 days, 10:41, 1 user, load average: 0.28, 0.14, 0.10", "stdout_lines": [" 21:15:13 up 17 days, 10:41, 1 user, load average: 0.28, 0.14, 0.10"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003032", "end": "2025-12-19 21:14:47.017503", "msg": "", "rc": 0, "start": "2025-12-19 21:14:47.014471", "stderr": "", "stderr_lines": [], "stdout": " 21:14:47 up 19 days, 10:30, 0 user, load average: 0.26, 0.32, 0.34", "stdout_lines": [" 21:14:47 up 19 days, 10:30, 0 user, load average: 0.26, 0.32, 0.34"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003731", "end": "2025-12-19 21:15:13.367676", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.363945", "stderr": "", "stderr_lines": [], "stdout": " 21:15:13 up 11:58, 1 user, load average: 0.00, 0.04, 0.07", "stdout_lines": [" 21:15:13 up 11:58, 1 user, load average: 0.00, 0.04, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009907", "end": "2025-12-19 21:15:15.265668", "msg": "", "rc": 0, "start": "2025-12-19 21:15:15.255761", "stderr": "", "stderr_lines": [], "stdout": " 21:15:15 up 7:49, 1 user, load average: 1.27, 1.26, 1.22", "stdout_lines": [" 21:15:15 up 7:49, 1 user, load average: 1.27, 1.26, 1.22"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004099", "end": "2025-12-19 21:15:13.918983", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.914884", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004042", "end": "2025-12-19 21:15:13.943571", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.939529", "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.004739", "end": "2025-12-19 21:15:13.940528", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.935789", "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.004701", "end": "2025-12-19 21:15:13.970367", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.965666", "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.006504", "end": "2025-12-19 21:15:14.004381", "msg": "", "rc": 0, "start": "2025-12-19 21:15:13.997877", "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.004868", "end": "2025-12-19 21:14:45.543233", "msg": "", "rc": 0, "start": "2025-12-19 21:14:45.538365", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011135", "end": "2025-12-19 21:14:38.394922", "msg": "", "rc": 0, "start": "2025-12-19 21:14:38.383787", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011896", "end": "2025-12-19 21:15:14.686946", "msg": "", "rc": 0, "start": "2025-12-19 21:15:14.675050", "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.011255", "end": "2025-12-19 21:15:14.727480", "msg": "", "rc": 0, "start": "2025-12-19 21:15:14.716225", "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.005610", "end": "2025-12-19 21:15:14.882223", "msg": "", "rc": 0, "start": "2025-12-19 21:15:14.876613", "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.005511", "end": "2025-12-19 21:14:41.607405", "msg": "", "rc": 0, "start": "2025-12-19 21:14:41.601894", "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.005306", "end": "2025-12-19 18:15:15.187908", "msg": "", "rc": 0, "start": "2025-12-19 18:15:15.182602", "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.005550", "end": "2025-12-19 21:14:48.974831", "msg": "", "rc": 0, "start": "2025-12-19 21:14:48.969281", "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.005271", "end": "2025-12-19 21:15:15.313381", "msg": "", "rc": 0, "start": "2025-12-19 21:15:15.308110", "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.025707", "end": "2025-12-19 21:15:15.317461", "msg": "", "rc": 0, "start": "2025-12-19 21:15:15.291754", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023283", "end": "2025-12-19 21:15:17.510410", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.487127", "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.004214", "end": "2025-12-19 21:15:15.956103", "msg": "", "rc": 0, "start": "2025-12-19 21:15:15.951889", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004200", "end": "2025-12-19 21:15:15.972110", "msg": "", "rc": 0, "start": "2025-12-19 21:15:15.967910", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005132", "end": "2025-12-19 21:15:15.986085", "msg": "", "rc": 0, "start": "2025-12-19 21:15:15.980953", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005018", "end": "2025-12-19 21:15:16.015786", "msg": "", "rc": 0, "start": "2025-12-19 21:15:16.010768", "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.005864", "end": "2025-12-19 21:15:16.035565", "msg": "", "rc": 0, "start": "2025-12-19 21:15:16.029701", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003697", "end": "2025-12-19 21:14:47.610102", "msg": "", "rc": 0, "start": "2025-12-19 21:14:47.606405", "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.004322", "end": "2025-12-19 21:14:40.390638", "msg": "", "rc": 0, "start": "2025-12-19 21:14:40.386316", "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.010559", "end": "2025-12-19 21:15:16.669255", "msg": "", "rc": 0, "start": "2025-12-19 21:15:16.658696", "stderr": "", "stderr_lines": [], "stdout": "7.3%", "stdout_lines": ["7.3%"]}
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.011767", "end": "2025-12-19 21:15:16.713871", "msg": "", "rc": 0, "start": "2025-12-19 21:15:16.702104", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.5%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005679", "end": "2025-12-19 21:15:16.946329", "msg": "", "rc": 0, "start": "2025-12-19 21:15:16.940650", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.004210", "end": "2025-12-19 21:14:43.559626", "msg": "", "rc": 0, "start": "2025-12-19 21:14:43.555416", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003846", "end": "2025-12-19 21:14:50.912609", "msg": "", "rc": 0, "start": "2025-12-19 21:14:50.908763", "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.005342", "end": "2025-12-19 18:15:17.170175", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:15:17.164833", "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.005456", "end": "2025-12-19 21:15:17.381734", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.376278", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.011444", "end": "2025-12-19 21:15:19.594549", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.583105", "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.026200", "end": "2025-12-19 21:15:17.358955", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.332755", "stderr": "", "stderr_lines": [], "stdout": "18.1%", "stdout_lines": ["18.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.005289", "end": "2025-12-19 21:15:17.888100", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.882811", "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.004814", "end": "2025-12-19 21:15:17.911265", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.906451", "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.006099", "end": "2025-12-19 21:15:17.922314", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.916215", "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.003333", "end": "2025-12-19 21:15:17.934337", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.931004", "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.006397", "end": "2025-12-19 21:15:17.955666", "msg": "", "rc": 0, "start": "2025-12-19 21:15:17.949269", "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.002757", "end": "2025-12-19 21:14:49.530027", "msg": "", "rc": 0, "start": "2025-12-19 21:14:49.527270", "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.003133", "end": "2025-12-19 21:14:42.310023", "msg": "", "rc": 0, "start": "2025-12-19 21:14:42.306890", "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-19 21:15:18.592670", "msg": "", "rc": 0, "start": "2025-12-19 21:15:18.580872", "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.013581", "end": "2025-12-19 21:15:18.635314", "msg": "", "rc": 0, "start": "2025-12-19 21:15:18.621733", "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.003126", "end": "2025-12-19 21:15:18.861897", "msg": "", "rc": 0, "start": "2025-12-19 21:15:18.858771", "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.002965", "end": "2025-12-19 21:14:45.505548", "msg": "", "rc": 0, "start": "2025-12-19 21:14:45.502583", "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.003900", "end": "2025-12-19 18:15:19.124384", "msg": "", "rc": 0, "start": "2025-12-19 18:15:19.120484", "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.002478", "end": "2025-12-19 21:14:52.886588", "msg": "", "rc": 0, "start": "2025-12-19 21:14:52.884110", "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.002978", "end": "2025-12-19 21:15:19.298313", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.295335", "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.004611", "end": "2025-12-19 21:15:21.743863", "msg": "", "rc": 0, "start": "2025-12-19 21:15:21.739252", "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.028638", "end": "2025-12-19 21:15:19.293480", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.264842", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004235", "end": "2025-12-19 21:15:19.827025", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.822790", "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.003981", "end": "2025-12-19 21:15:19.849687", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.845706", "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.004854", "end": "2025-12-19 21:15:19.863984", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.859130", "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.005756", "end": "2025-12-19 21:15:19.873121", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.867365", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005568", "end": "2025-12-19 21:15:19.879955", "msg": "", "rc": 0, "start": "2025-12-19 21:15:19.874387", "stderr": "", "stderr_lines": [], "stdout": "1.04", "stdout_lines": ["1.04"]}
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.004341", "end": "2025-12-19 21:14:51.471451", "msg": "", "rc": 0, "start": "2025-12-19 21:14:51.467110", "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.004800", "end": "2025-12-19 21:14:44.264948", "msg": "", "rc": 0, "start": "2025-12-19 21:14:44.260148", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010006", "end": "2025-12-19 21:15:20.632055", "msg": "", "rc": 0, "start": "2025-12-19 21:15:20.622049", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
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-19 21:15:20.649179", "msg": "", "rc": 0, "start": "2025-12-19 21:15:20.638138", "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.005539", "end": "2025-12-19 21:15:20.806604", "msg": "", "rc": 0, "start": "2025-12-19 21:15:20.801065", "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.004925", "end": "2025-12-19 21:14:47.438057", "msg": "", "rc": 0, "start": "2025-12-19 21:14:47.433132", "stderr": "", "stderr_lines": [], "stdout": "0.84", "stdout_lines": ["0.84"]}
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.005980", "end": "2025-12-19 18:15:21.115207", "msg": "", "rc": 0, "start": "2025-12-19 18:15:21.109227", "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.004369", "end": "2025-12-19 21:14:54.892644", "msg": "", "rc": 0, "start": "2025-12-19 21:14:54.888275", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005275", "end": "2025-12-19 21:15:21.239334", "msg": "", "rc": 0, "start": "2025-12-19 21:15:21.234059", "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.009029", "end": "2025-12-19 21:15:23.850135", "msg": "", "rc": 0, "start": "2025-12-19 21:15:23.841106", "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.024822", "end": "2025-12-19 21:15:21.230608", "msg": "", "rc": 0, "start": "2025-12-19 21:15:21.205786", "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: 21:15:11 up 11:59, 1 user, load average: 0.07, 0.19, 0.19\nDisk Usage: 22%\nMemory Usage: 14.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: 21:15:11 up 24 days, 8:06, 1 user, load average: 0.15, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:11 up 24 days, 8:26, 1 user, load average: 0.62, 0.58, 0.64\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.57\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:11 up 24 days, 9:39, 1 user, load average: 0.79, 0.69, 0.65\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 1.04\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:11 up 24 days, 10:25, 1 user, load average: 0.16, 0.11, 0.03\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:13 up 17 days, 10:41, 1 user, load average: 0.28, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 18.1%\nCPU Load: 0.31\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:12 up 196 days, 12:48, 1 user, load average: 0.13, 0.18, 0.19\nDisk Usage: 6%\nMemory Usage: 14.5%\nCPU Load: 0.34\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:12 up 196 days, 12:48, 1 user, load average: 0.22, 0.14, 0.14\nDisk Usage: 3%\nMemory Usage: 7.3%\nCPU Load: 0.35\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:14:43 up 13 days, 9:04, 0 user, load average: 0.05, 0.08, 0.08\nDisk Usage: 50%\nMemory Usage: 71.2%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:14:36 up 20 days, 5:16, 0 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 25%\nMemory Usage: 64.4%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:12 up 11:58, 1 user, load average: 0.04, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:14:39 up 23 days, 8 min, 0 user, load average: 0.91, 0.66, 0.54\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.84\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:14:47 up 19 days, 10:30, 0 user, load average: 0.26, 0.32, 0.34\nDisk Usage: 76%\nMemory Usage: 56.1%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:15PM up 24 days, 8:05, 1 user, load averages: 0.12, 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: 21:15:13 up 11:58, 1 user, load average: 0.00, 0.04, 0.07\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:15:15 up 7:49, 1 user, load average: 1.27, 1.26, 1.22\nDisk Usage: 1%\nMemory Usage: 12.5%\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-20T02:15:24.932950+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `431e1907995340f7b7902aa1c2f24200` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:20:00.002692+00:00 |
| **Fin** | 2025-12-20T02:20:21.718771+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003283", "end": "2025-12-19 21:20:11.416113", "msg": "", "rc": 0, "start": "2025-12-19 21:20:11.412830", "stderr": "", "stderr_lines": [], "stdout": " 21:20:11 up 24 days, 8:11, 1 user, load average: 0.22, 0.13, 0.10", "stdout_lines": [" 21:20:11 up 24 days, 8:11, 1 user, load average: 0.22, 0.13, 0.10"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003367", "end": "2025-12-19 21:20:11.422304", "msg": "", "rc": 0, "start": "2025-12-19 21:20:11.418937", "stderr": "", "stderr_lines": [], "stdout": " 21:20:11 up 24 days, 8:31, 1 user, load average: 0.89, 0.67, 0.66", "stdout_lines": [" 21:20:11 up 24 days, 8:31, 1 user, load average: 0.89, 0.67, 0.66"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003886", "end": "2025-12-19 21:20:11.428594", "msg": "", "rc": 0, "start": "2025-12-19 21:20:11.424708", "stderr": "", "stderr_lines": [], "stdout": " 21:20:11 up 24 days, 10:30, 1 user, load average: 0.11, 0.10, 0.04", "stdout_lines": [" 21:20:11 up 24 days, 10:30, 1 user, load average: 0.11, 0.10, 0.04"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002834", "end": "2025-12-19 21:20:11.459454", "msg": "", "rc": 0, "start": "2025-12-19 21:20:11.456620", "stderr": "", "stderr_lines": [], "stdout": " 21:20:11 up 12:04, 1 user, load average: 0.21, 0.17, 0.18", "stdout_lines": [" 21:20:11 up 12:04, 1 user, load average: 0.21, 0.17, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005320", "end": "2025-12-19 21:20:11.463650", "msg": "", "rc": 0, "start": "2025-12-19 21:20:11.458330", "stderr": "", "stderr_lines": [], "stdout": " 21:20:11 up 24 days, 9:44, 1 user, load average: 0.98, 0.76, 0.69", "stdout_lines": [" 21:20:11 up 24 days, 9:44, 1 user, load average: 0.98, 0.76, 0.69"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003046", "end": "2025-12-19 21:19:43.039297", "msg": "", "rc": 0, "start": "2025-12-19 21:19:43.036251", "stderr": "", "stderr_lines": [], "stdout": " 21:19:43 up 13 days, 9:09, 0 user, load average: 0.06, 0.14, 0.11", "stdout_lines": [" 21:19:43 up 13 days, 9:09, 0 user, load average: 0.06, 0.14, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003288", "end": "2025-12-19 21:19:35.803227", "msg": "", "rc": 0, "start": "2025-12-19 21:19:35.799939", "stderr": "", "stderr_lines": [], "stdout": " 21:19:35 up 20 days, 5:21, 0 user, load average: 0.05, 0.04, 0.00", "stdout_lines": [" 21:19:35 up 20 days, 5:21, 0 user, load average: 0.05, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008394", "end": "2025-12-19 21:20:12.105857", "msg": "", "rc": 0, "start": "2025-12-19 21:20:12.097463", "stderr": "", "stderr_lines": [], "stdout": " 21:20:12 up 196 days, 12:53, 1 user, load average: 0.20, 0.13, 0.13", "stdout_lines": [" 21:20:12 up 196 days, 12:53, 1 user, load average: 0.20, 0.13, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009277", "end": "2025-12-19 21:20:12.142675", "msg": "", "rc": 0, "start": "2025-12-19 21:20:12.133398", "stderr": "", "stderr_lines": [], "stdout": " 21:20:12 up 196 days, 12:53, 1 user, load average: 0.13, 0.21, 0.19", "stdout_lines": [" 21:20:12 up 196 days, 12:53, 1 user, load average: 0.13, 0.21, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004607", "end": "2025-12-19 21:20:12.391502", "msg": "", "rc": 0, "start": "2025-12-19 21:20:12.386895", "stderr": "", "stderr_lines": [], "stdout": " 21:20:12 up 12:03, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 21:20:12 up 12:03, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002960", "end": "2025-12-19 21:19:38.979994", "msg": "", "rc": 0, "start": "2025-12-19 21:19:38.977034", "stderr": "", "stderr_lines": [], "stdout": " 21:19:38 up 23 days, 13 min, 0 user, load average: 0.28, 0.44, 0.48", "stdout_lines": [" 21:19:38 up 23 days, 13 min, 0 user, load average: 0.28, 0.44, 0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004126", "end": "2025-12-19 18:20:12.598067", "msg": "", "rc": 0, "start": "2025-12-19 18:20:12.593941", "stderr": "", "stderr_lines": [], "stdout": " 6:20PM up 24 days, 8:09, 1 user, load averages: 0.63, 0.40, 0.30", "stdout_lines": [" 6:20PM up 24 days, 8:09, 1 user, load averages: 0.63, 0.40, 0.30"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003220", "end": "2025-12-19 21:19:46.352430", "msg": "", "rc": 0, "start": "2025-12-19 21:19:46.349210", "stderr": "", "stderr_lines": [], "stdout": " 21:19:46 up 19 days, 10:35, 0 user, load average: 0.35, 0.31, 0.33", "stdout_lines": [" 21:19:46 up 19 days, 10:35, 0 user, load average: 0.35, 0.31, 0.33"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003659", "end": "2025-12-19 21:20:12.818731", "msg": "", "rc": 0, "start": "2025-12-19 21:20:12.815072", "stderr": "", "stderr_lines": [], "stdout": " 21:20:12 up 12:03, 1 user, load average: 0.27, 0.09, 0.08", "stdout_lines": [" 21:20:12 up 12:03, 1 user, load average: 0.27, 0.09, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007703", "end": "2025-12-19 21:20:15.155079", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.147376", "stderr": "", "stderr_lines": [], "stdout": " 21:20:15 up 7:54, 1 user, load average: 1.44, 1.23, 1.20", "stdout_lines": [" 21:20:15 up 7:54, 1 user, load average: 1.44, 1.23, 1.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020032", "end": "2025-12-19 21:20:12.814515", "msg": "", "rc": 0, "start": "2025-12-19 21:20:12.794483", "stderr": "", "stderr_lines": [], "stdout": " 21:20:12 up 17 days, 10:46, 1 user, load average: 0.16, 0.12, 0.09", "stdout_lines": [" 21:20:12 up 17 days, 10:46, 1 user, load average: 0.16, 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.004059", "end": "2025-12-19 21:20:13.349452", "msg": "", "rc": 0, "start": "2025-12-19 21:20:13.345393", "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.004068", "end": "2025-12-19 21:20:13.370439", "msg": "", "rc": 0, "start": "2025-12-19 21:20:13.366371", "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.004786", "end": "2025-12-19 21:20:13.373734", "msg": "", "rc": 0, "start": "2025-12-19 21:20:13.368948", "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.004824", "end": "2025-12-19 21:20:13.401126", "msg": "", "rc": 0, "start": "2025-12-19 21:20:13.396302", "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-19 21:20:13.398900", "msg": "", "rc": 0, "start": "2025-12-19 21:20:13.393410", "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.005946", "end": "2025-12-19 21:19:45.002254", "msg": "", "rc": 0, "start": "2025-12-19 21:19:44.996308", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005451", "end": "2025-12-19 21:19:37.787095", "msg": "", "rc": 0, "start": "2025-12-19 21:19:37.781644", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010542", "end": "2025-12-19 21:20:14.124083", "msg": "", "rc": 0, "start": "2025-12-19 21:20:14.113541", "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.011980", "end": "2025-12-19 21:20:14.191911", "msg": "", "rc": 0, "start": "2025-12-19 21:20:14.179931", "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-19 21:20:14.339608", "msg": "", "rc": 0, "start": "2025-12-19 21:20:14.333883", "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.005661", "end": "2025-12-19 21:19:40.985514", "msg": "", "rc": 0, "start": "2025-12-19 21:19:40.979853", "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.004911", "end": "2025-12-19 21:19:48.363042", "msg": "", "rc": 0, "start": "2025-12-19 21:19:48.358131", "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.005370", "end": "2025-12-19 18:20:14.667414", "msg": "", "rc": 0, "start": "2025-12-19 18:20:14.662044", "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.005376", "end": "2025-12-19 21:20:14.775223", "msg": "", "rc": 0, "start": "2025-12-19 21:20:14.769847", "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.025889", "end": "2025-12-19 21:20:14.773341", "msg": "", "rc": 0, "start": "2025-12-19 21:20:14.747452", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023508", "end": "2025-12-19 21:20:17.418502", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.394994", "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.004256", "end": "2025-12-19 21:20:15.301554", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.297298", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004096", "end": "2025-12-19 21:20:15.313111", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.309015", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005136", "end": "2025-12-19 21:20:15.328119", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.322983", "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.005072", "end": "2025-12-19 21:20:15.358623", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.353551", "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.006857", "end": "2025-12-19 21:20:15.375953", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.369096", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003877", "end": "2025-12-19 21:19:46.960984", "msg": "", "rc": 0, "start": "2025-12-19 21:19:46.957107", "stderr": "", "stderr_lines": [], "stdout": "70.2%", "stdout_lines": ["70.2%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005188", "end": "2025-12-19 21:19:39.747093", "msg": "", "rc": 0, "start": "2025-12-19 21:19:39.741905", "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.010763", "end": "2025-12-19 21:20:15.988733", "msg": "", "rc": 0, "start": "2025-12-19 21:20:15.977970", "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.011963", "end": "2025-12-19 21:20:16.052542", "msg": "", "rc": 0, "start": "2025-12-19 21:20:16.040579", "stderr": "", "stderr_lines": [], "stdout": "14.9%", "stdout_lines": ["14.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.005653", "end": "2025-12-19 21:20:16.296749", "msg": "", "rc": 0, "start": "2025-12-19 21:20:16.291096", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.003770", "end": "2025-12-19 21:19:50.235378", "msg": "", "rc": 0, "start": "2025-12-19 21:19:50.231608", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004429", "end": "2025-12-19 21:19:42.944912", "msg": "", "rc": 0, "start": "2025-12-19 21:19:42.940483", "stderr": "", "stderr_lines": [], "stdout": "27.1%", "stdout_lines": ["27.1%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005140", "end": "2025-12-19 18:20:16.509932", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:20:16.504792", "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.005407", "end": "2025-12-19 21:20:16.732530", "msg": "", "rc": 0, "start": "2025-12-19 21:20:16.727123", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.009705", "end": "2025-12-19 21:20:19.514025", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.504320", "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.026053", "end": "2025-12-19 21:20:16.702026", "msg": "", "rc": 0, "start": "2025-12-19 21:20:16.675973", "stderr": "", "stderr_lines": [], "stdout": "18.3%", "stdout_lines": ["18.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.005339", "end": "2025-12-19 21:20:17.217815", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.212476", "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.005776", "end": "2025-12-19 21:20:17.237710", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.231934", "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.004999", "end": "2025-12-19 21:20:17.250095", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.245096", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003444", "end": "2025-12-19 21:20:17.281683", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.278239", "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.006738", "end": "2025-12-19 21:20:17.315498", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.308760", "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.002639", "end": "2025-12-19 21:19:48.862498", "msg": "", "rc": 0, "start": "2025-12-19 21:19:48.859859", "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.003237", "end": "2025-12-19 21:19:41.678903", "msg": "", "rc": 0, "start": "2025-12-19 21:19:41.675666", "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.013744", "end": "2025-12-19 21:20:17.950361", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.936617", "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.013681", "end": "2025-12-19 21:20:17.951160", "msg": "", "rc": 0, "start": "2025-12-19 21:20:17.937479", "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.003237", "end": "2025-12-19 21:20:18.207875", "msg": "", "rc": 0, "start": "2025-12-19 21:20:18.204638", "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.003056", "end": "2025-12-19 21:19:44.861068", "msg": "", "rc": 0, "start": "2025-12-19 21:19:44.858012", "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.003775", "end": "2025-12-19 18:20:18.424650", "msg": "", "rc": 0, "start": "2025-12-19 18:20:18.420875", "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.002579", "end": "2025-12-19 21:19:52.191736", "msg": "", "rc": 0, "start": "2025-12-19 21:19:52.189157", "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.003110", "end": "2025-12-19 21:20:18.637611", "msg": "", "rc": 0, "start": "2025-12-19 21:20:18.634501", "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.028973", "end": "2025-12-19 21:20:18.603108", "msg": "", "rc": 0, "start": "2025-12-19 21:20:18.574135", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°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.005220", "end": "2025-12-19 21:20:21.633695", "msg": "", "rc": 0, "start": "2025-12-19 21:20:21.628475", "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.004111", "end": "2025-12-19 21:20:19.126363", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.122252", "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.004530", "end": "2025-12-19 21:20:19.158424", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.153894", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004069", "end": "2025-12-19 21:20:19.158870", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.154801", "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.005174", "end": "2025-12-19 21:20:19.180855", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.175681", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005584", "end": "2025-12-19 21:20:19.203389", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.197805", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
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.004591", "end": "2025-12-19 21:19:50.770012", "msg": "", "rc": 0, "start": "2025-12-19 21:19:50.765421", "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.005882", "end": "2025-12-19 21:19:43.533900", "msg": "", "rc": 0, "start": "2025-12-19 21:19:43.528018", "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.011023", "end": "2025-12-19 21:20:19.937670", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.926647", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.012929", "end": "2025-12-19 21:20:19.950251", "msg": "", "rc": 0, "start": "2025-12-19 21:20:19.937322", "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.005573", "end": "2025-12-19 21:20:20.117289", "msg": "", "rc": 0, "start": "2025-12-19 21:20:20.111716", "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.005237", "end": "2025-12-19 21:19:46.719905", "msg": "", "rc": 0, "start": "2025-12-19 21:19:46.714668", "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.005889", "end": "2025-12-19 18:20:20.403277", "msg": "", "rc": 0, "start": "2025-12-19 18:20:20.397388", "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.004506", "end": "2025-12-19 21:19:54.179732", "msg": "", "rc": 0, "start": "2025-12-19 21:19:54.175226", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.005281", "end": "2025-12-19 21:20:20.544020", "msg": "", "rc": 0, "start": "2025-12-19 21:20:20.538739", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
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.009255", "end": "2025-12-19 21:20:20.767811", "msg": "", "rc": 0, "start": "2025-12-19 21:20:20.758556", "stderr": "", "stderr_lines": [], "stdout": "1.72", "stdout_lines": ["1.72"]}
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.024651", "end": "2025-12-19 21:20:20.524047", "msg": "", "rc": 0, "start": "2025-12-19 21:20:20.499396", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:11 up 24 days, 8:11, 1 user, load average: 0.22, 0.13, 0.10\nDisk Usage: 23%\nMemory Usage: 76.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: 21:20:11 up 12:04, 1 user, load average: 0.21, 0.17, 0.18\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.20\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:11 up 24 days, 8:31, 1 user, load average: 0.89, 0.67, 0.66\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.90\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:11 up 24 days, 9:44, 1 user, load average: 0.98, 0.76, 0.69\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.90\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:11 up 24 days, 10:30, 1 user, load average: 0.11, 0.10, 0.04\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:12 up 17 days, 10:46, 1 user, load average: 0.16, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 18.3%\nCPU Load: 0.21\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:12 up 196 days, 12:53, 1 user, load average: 0.13, 0.21, 0.19\nDisk Usage: 6%\nMemory Usage: 14.9%\nCPU Load: 0.19\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:12 up 196 days, 12:53, 1 user, load average: 0.20, 0.13, 0.13\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.24\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:19:43 up 13 days, 9:09, 0 user, load average: 0.06, 0.14, 0.11\nDisk Usage: 50%\nMemory Usage: 70.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:19:35 up 20 days, 5:21, 0 user, load average: 0.05, 0.04, 0.00\nDisk Usage: 25%\nMemory Usage: 64.4%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:12 up 12:03, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:19:38 up 23 days, 13 min, 0 user, load average: 0.28, 0.44, 0.48\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:19:46 up 19 days, 10:35, 0 user, load average: 0.35, 0.31, 0.33\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:20PM up 24 days, 8:09, 1 user, load averages: 0.63, 0.40, 0.30\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:12 up 12:03, 1 user, load average: 0.27, 0.09, 0.08\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:20:15 up 7:54, 1 user, load average: 1.44, 1.23, 1.20\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.72\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-20T02:20:21.937656+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1353471196f94032848178d148bec674` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:25:00.010037+00:00 |
| **Fin** | 2025-12-20T02:25:21.851418+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: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003634", "end": "2025-12-19 21:25:10.934516", "msg": "", "rc": 0, "start": "2025-12-19 21:25:10.930882", "stderr": "", "stderr_lines": [], "stdout": " 21:25:10 up 24 days, 10:35, 1 user, load average: 0.19, 0.14, 0.07", "stdout_lines": [" 21:25:10 up 24 days, 10:35, 1 user, load average: 0.19, 0.14, 0.07"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003222", "end": "2025-12-19 21:25:10.946641", "msg": "", "rc": 0, "start": "2025-12-19 21:25:10.943419", "stderr": "", "stderr_lines": [], "stdout": " 21:25:10 up 24 days, 8:36, 1 user, load average: 0.51, 0.63, 0.64", "stdout_lines": [" 21:25:10 up 24 days, 8:36, 1 user, load average: 0.51, 0.63, 0.64"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003841", "end": "2025-12-19 21:25:10.951050", "msg": "", "rc": 0, "start": "2025-12-19 21:25:10.947209", "stderr": "", "stderr_lines": [], "stdout": " 21:25:10 up 24 days, 9:49, 1 user, load average: 0.58, 0.65, 0.65", "stdout_lines": [" 21:25:10 up 24 days, 9:49, 1 user, load average: 0.58, 0.65, 0.65"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002828", "end": "2025-12-19 21:25:10.963576", "msg": "", "rc": 0, "start": "2025-12-19 21:25:10.960748", "stderr": "", "stderr_lines": [], "stdout": " 21:25:10 up 12:09, 1 user, load average: 0.21, 0.23, 0.19", "stdout_lines": [" 21:25:10 up 12:09, 1 user, load average: 0.21, 0.23, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003728", "end": "2025-12-19 21:24:42.616702", "msg": "", "rc": 0, "start": "2025-12-19 21:24:42.612974", "stderr": "", "stderr_lines": [], "stdout": " 21:24:42 up 13 days, 9:14, 0 user, load average: 0.22, 0.17, 0.12", "stdout_lines": [" 21:24:42 up 13 days, 9:14, 0 user, load average: 0.22, 0.17, 0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008337", "end": "2025-12-19 21:25:11.619473", "msg": "", "rc": 0, "start": "2025-12-19 21:25:11.611136", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 196 days, 12:58, 1 user, load average: 0.12, 0.14, 0.13", "stdout_lines": [" 21:25:11 up 196 days, 12:58, 1 user, load average: 0.12, 0.14, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009181", "end": "2025-12-19 21:25:11.656028", "msg": "", "rc": 0, "start": "2025-12-19 21:25:11.646847", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 196 days, 12:58, 1 user, load average: 0.20, 0.18, 0.18", "stdout_lines": [" 21:25:11 up 196 days, 12:58, 1 user, load average: 0.20, 0.18, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004503", "end": "2025-12-19 21:25:11.920584", "msg": "", "rc": 0, "start": "2025-12-19 21:25:10.916081", "stderr": "", "stderr_lines": [], "stdout": " 21:25:10 up 24 days, 8:16, 1 user, load average: 0.31, 0.13, 0.10", "stdout_lines": [" 21:25:10 up 24 days, 8:16, 1 user, load average: 0.31, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003489", "end": "2025-12-19 21:24:35.834167", "msg": "", "rc": 0, "start": "2025-12-19 21:24:35.830678", "stderr": "", "stderr_lines": [], "stdout": " 21:24:35 up 20 days, 5:26, 0 user, load average: 0.11, 0.08, 0.02", "stdout_lines": [" 21:24:35 up 20 days, 5:26, 0 user, load average: 0.11, 0.08, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004568", "end": "2025-12-19 21:25:12.117203", "msg": "", "rc": 0, "start": "2025-12-19 21:25:12.112635", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 12:08, 1 user, load average: 0.35, 0.12, 0.03", "stdout_lines": [" 21:25:12 up 12:08, 1 user, load average: 0.35, 0.12, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003248", "end": "2025-12-19 21:24:38.676818", "msg": "", "rc": 0, "start": "2025-12-19 21:24:38.673570", "stderr": "", "stderr_lines": [], "stdout": " 21:24:38 up 23 days, 18 min, 0 user, load average: 0.30, 0.41, 0.45", "stdout_lines": [" 21:24:38 up 23 days, 18 min, 0 user, load average: 0.30, 0.41, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003083", "end": "2025-12-19 21:24:46.137702", "msg": "", "rc": 0, "start": "2025-12-19 21:24:46.134619", "stderr": "", "stderr_lines": [], "stdout": " 21:24:46 up 19 days, 10:40, 0 user, load average: 0.13, 0.28, 0.32", "stdout_lines": [" 21:24:46 up 19 days, 10:40, 0 user, load average: 0.13, 0.28, 0.32"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004161", "end": "2025-12-19 18:25:12.455342", "msg": "", "rc": 0, "start": "2025-12-19 18:25:12.451181", "stderr": "", "stderr_lines": [], "stdout": " 6:25PM up 24 days, 8:14, 1 user, load averages: 0.22, 0.28, 0.26", "stdout_lines": [" 6:25PM up 24 days, 8:14, 1 user, load averages: 0.22, 0.28, 0.26"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020158", "end": "2025-12-19 21:25:12.330208", "msg": "", "rc": 0, "start": "2025-12-19 21:25:12.310050", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 17 days, 10:51, 1 user, load average: 0.31, 0.15, 0.11", "stdout_lines": [" 21:25:12 up 17 days, 10:51, 1 user, load average: 0.31, 0.15, 0.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003679", "end": "2025-12-19 21:25:12.534947", "msg": "", "rc": 0, "start": "2025-12-19 21:25:12.531268", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 12:08, 1 user, load average: 0.01, 0.05, 0.06", "stdout_lines": [" 21:25:12 up 12:08, 1 user, load average: 0.01, 0.05, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009152", "end": "2025-12-19 21:25:15.314495", "msg": "", "rc": 0, "start": "2025-12-19 21:25:15.305343", "stderr": "", "stderr_lines": [], "stdout": " 21:25:15 up 8:00, 1 user, load average: 1.43, 1.20, 1.19", "stdout_lines": [" 21:25:15 up 8:00, 1 user, load average: 1.43, 1.20, 1.19"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004284", "end": "2025-12-19 21:25:12.977041", "msg": "", "rc": 0, "start": "2025-12-19 21:25:12.972757", "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.004078", "end": "2025-12-19 21:25:12.986728", "msg": "", "rc": 0, "start": "2025-12-19 21:25:12.982650", "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.004796", "end": "2025-12-19 21:25:13.018417", "msg": "", "rc": 0, "start": "2025-12-19 21:25:13.013621", "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.004883", "end": "2025-12-19 21:25:13.027080", "msg": "", "rc": 0, "start": "2025-12-19 21:25:13.022197", "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.005736", "end": "2025-12-19 21:25:13.034379", "msg": "", "rc": 0, "start": "2025-12-19 21:25:13.028643", "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.004953", "end": "2025-12-19 21:24:44.617171", "msg": "", "rc": 0, "start": "2025-12-19 21:24:44.612218", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005698", "end": "2025-12-19 21:24:37.427372", "msg": "", "rc": 0, "start": "2025-12-19 21:24:37.421674", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010344", "end": "2025-12-19 21:25:13.733403", "msg": "", "rc": 0, "start": "2025-12-19 21:25:13.723059", "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.011657", "end": "2025-12-19 21:25:13.755238", "msg": "", "rc": 0, "start": "2025-12-19 21:25:13.743581", "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.005795", "end": "2025-12-19 21:25:13.950593", "msg": "", "rc": 0, "start": "2025-12-19 21:25:13.944798", "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.005121", "end": "2025-12-19 21:24:40.600698", "msg": "", "rc": 0, "start": "2025-12-19 21:24:40.595577", "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.005384", "end": "2025-12-19 18:25:14.211645", "msg": "", "rc": 0, "start": "2025-12-19 18:25:14.206261", "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.005002", "end": "2025-12-19 21:24:47.961174", "msg": "", "rc": 0, "start": "2025-12-19 21:24:47.956172", "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.005419", "end": "2025-12-19 21:25:14.412327", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.406908", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.027924", "end": "2025-12-19 21:25:14.500655", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.472731", "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.025937", "end": "2025-12-19 21:25:14.374420", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.348483", "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.004267", "end": "2025-12-19 21:25:14.904040", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.899773", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004233", "end": "2025-12-19 21:25:14.902529", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.898296", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004628", "end": "2025-12-19 21:25:14.929956", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.925328", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.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.005765", "end": "2025-12-19 21:25:14.959579", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.953814", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.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.004653", "end": "2025-12-19 21:25:14.961759", "msg": "", "rc": 0, "start": "2025-12-19 21:25:14.957106", "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.003941", "end": "2025-12-19 21:24:46.555294", "msg": "", "rc": 0, "start": "2025-12-19 21:24:46.551353", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004808", "end": "2025-12-19 21:24:39.320541", "msg": "", "rc": 0, "start": "2025-12-19 21:24:39.315733", "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.010985", "end": "2025-12-19 21:25:15.603055", "msg": "", "rc": 0, "start": "2025-12-19 21:25:15.592070", "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.012246", "end": "2025-12-19 21:25:15.696955", "msg": "", "rc": 0, "start": "2025-12-19 21:25:15.684709", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.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.005790", "end": "2025-12-19 21:25:15.903779", "msg": "", "rc": 0, "start": "2025-12-19 21:25:15.897989", "stderr": "", "stderr_lines": [], "stdout": "17.5%", "stdout_lines": ["17.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.003801", "end": "2025-12-19 21:24:49.843866", "msg": "", "rc": 0, "start": "2025-12-19 21:24:49.840065", "stderr": "", "stderr_lines": [], "stdout": "54.6%", "stdout_lines": ["54.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.004201", "end": "2025-12-19 21:24:42.548924", "msg": "", "rc": 0, "start": "2025-12-19 21:24:42.544723", "stderr": "", "stderr_lines": [], "stdout": "26.0%", "stdout_lines": ["26.0%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005191", "end": "2025-12-19 18:25:16.163928", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:25:16.158737", "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.005383", "end": "2025-12-19 21:25:16.340510", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.335127", "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.026407", "end": "2025-12-19 21:25:16.308389", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.281982", "stderr": "", "stderr_lines": [], "stdout": "18.3%", "stdout_lines": ["18.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.009963", "end": "2025-12-19 21:25:16.646664", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.636701", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.005300", "end": "2025-12-19 21:25:16.834120", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.828820", "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-19 21:25:16.857496", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.852741", "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.005803", "end": "2025-12-19 21:25:16.867939", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.862136", "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.002813", "end": "2025-12-19 21:25:16.889760", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.886947", "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.006896", "end": "2025-12-19 21:25:16.915491", "msg": "", "rc": 0, "start": "2025-12-19 21:25:16.908595", "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.002722", "end": "2025-12-19 21:24:48.458482", "msg": "", "rc": 0, "start": "2025-12-19 21:24:48.455760", "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.003262", "end": "2025-12-19 21:24:41.271449", "msg": "", "rc": 0, "start": "2025-12-19 21:24:41.268187", "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.012946", "end": "2025-12-19 21:25:17.569623", "msg": "", "rc": 0, "start": "2025-12-19 21:25:17.556677", "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.013322", "end": "2025-12-19 21:25:17.596780", "msg": "", "rc": 0, "start": "2025-12-19 21:25:17.583458", "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.003157", "end": "2025-12-19 21:25:17.795270", "msg": "", "rc": 0, "start": "2025-12-19 21:25:17.792113", "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.003063", "end": "2025-12-19 21:24:44.476423", "msg": "", "rc": 0, "start": "2025-12-19 21:24:44.473360", "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.003825", "end": "2025-12-19 18:25:18.049566", "msg": "", "rc": 0, "start": "2025-12-19 18:25:18.045741", "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.002508", "end": "2025-12-19 21:24:51.802851", "msg": "", "rc": 0, "start": "2025-12-19 21:24:51.800343", "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-19 21:25:18.227204", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.224271", "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.029581", "end": "2025-12-19 21:25:18.223804", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.194223", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°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.004917", "end": "2025-12-19 21:25:18.781707", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.776790", "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.004107", "end": "2025-12-19 21:25:18.765880", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.761773", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004019", "end": "2025-12-19 21:25:18.773751", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.769732", "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.004901", "end": "2025-12-19 21:25:18.801874", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.796973", "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.005333", "end": "2025-12-19 21:25:18.827955", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.822622", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005429", "end": "2025-12-19 21:25:18.850976", "msg": "", "rc": 0, "start": "2025-12-19 21:25:18.845547", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
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.004360", "end": "2025-12-19 21:24:50.483731", "msg": "", "rc": 0, "start": "2025-12-19 21:24:50.479371", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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-19 21:24:43.273116", "msg": "", "rc": 0, "start": "2025-12-19 21:24:43.267585", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009908", "end": "2025-12-19 21:25:19.631860", "msg": "", "rc": 0, "start": "2025-12-19 21:25:19.621952", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010783", "end": "2025-12-19 21:25:19.659227", "msg": "", "rc": 0, "start": "2025-12-19 21:25:19.648444", "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.005867", "end": "2025-12-19 21:25:19.834288", "msg": "", "rc": 0, "start": "2025-12-19 21:25:19.828421", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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.005055", "end": "2025-12-19 21:24:46.487458", "msg": "", "rc": 0, "start": "2025-12-19 21:24:46.482403", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006385", "end": "2025-12-19 18:25:20.117617", "msg": "", "rc": 0, "start": "2025-12-19 18:25:20.111232", "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.004967", "end": "2025-12-19 21:24:53.885944", "msg": "", "rc": 0, "start": "2025-12-19 21:24:53.880977", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005161", "end": "2025-12-19 21:25:20.263115", "msg": "", "rc": 0, "start": "2025-12-19 21:25:20.257954", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024561", "end": "2025-12-19 21:25:20.206756", "msg": "", "rc": 0, "start": "2025-12-19 21:25:20.182195", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.008862", "end": "2025-12-19 21:25:20.985369", "msg": "", "rc": 0, "start": "2025-12-19 21:25:20.976507", "stderr": "", "stderr_lines": [], "stdout": "1.59", "stdout_lines": ["1.59"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:10 up 12:09, 1 user, load average: 0.21, 0.23, 0.19\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.27\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:10 up 24 days, 8:16, 1 user, load average: 0.31, 0.13, 0.10\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.26\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:10 up 24 days, 8:36, 1 user, load average: 0.51, 0.63, 0.64\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.47\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:10 up 24 days, 9:49, 1 user, load average: 0.58, 0.65, 0.65\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.53\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:10 up 24 days, 10:35, 1 user, load average: 0.19, 0.14, 0.07\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 17 days, 10:51, 1 user, load average: 0.31, 0.15, 0.11\nDisk Usage: 21%\nMemory Usage: 18.3%\nCPU Load: 0.33\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 196 days, 12:58, 1 user, load average: 0.20, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 13.8%\nCPU Load: 0.33\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 196 days, 12:58, 1 user, load average: 0.12, 0.14, 0.13\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.26\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:42 up 13 days, 9:14, 0 user, load average: 0.22, 0.17, 0.12\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:35 up 20 days, 5:26, 0 user, load average: 0.11, 0.08, 0.02\nDisk Usage: 25%\nMemory Usage: 64.5%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 12:08, 1 user, load average: 0.35, 0.12, 0.03\nDisk Usage: 1%\nMemory Usage: 17.5%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:38 up 23 days, 18 min, 0 user, load average: 0.30, 0.41, 0.45\nDisk Usage: 28%\nMemory Usage: 26.0%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:46 up 19 days, 10:40, 0 user, load average: 0.13, 0.28, 0.32\nDisk Usage: 76%\nMemory Usage: 54.6%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:25PM up 24 days, 8:14, 1 user, load averages: 0.22, 0.28, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 12:08, 1 user, load average: 0.01, 0.05, 0.06\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:15 up 8:00, 1 user, load average: 1.43, 1.20, 1.19\nDisk Usage: 1%\nMemory Usage: 12.5%\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-20T02:25:21.900035+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6bf6793bdda64e78bc9d081641db2c5d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:30:00.000388+00:00 |
| **Fin** | 2025-12-20T02:30:21.754578+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: [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.003480", "end": "2025-12-19 21:30:10.164210", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.160730", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 24 days, 8:21, 1 user, load average: 0.16, 0.10, 0.09", "stdout_lines": [" 21:30:10 up 24 days, 8:21, 1 user, load average: 0.16, 0.10, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003912", "end": "2025-12-19 21:30:10.170299", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.166387", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 24 days, 10:40, 1 user, load average: 0.18, 0.13, 0.08", "stdout_lines": [" 21:30:10 up 24 days, 10:40, 1 user, load average: 0.18, 0.13, 0.08"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004070", "end": "2025-12-19 21:30:10.188988", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.184918", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 24 days, 9:54, 1 user, load average: 0.54, 0.58, 0.62", "stdout_lines": [" 21:30:10 up 24 days, 9:54, 1 user, load average: 0.54, 0.58, 0.62"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002937", "end": "2025-12-19 21:30:10.195613", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.192676", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 12:14, 1 user, load average: 0.94, 0.33, 0.22", "stdout_lines": [" 21:30:10 up 12:14, 1 user, load average: 0.94, 0.33, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003004", "end": "2025-12-19 21:29:41.791785", "msg": "", "rc": 0, "start": "2025-12-19 21:29:41.788781", "stderr": "", "stderr_lines": [], "stdout": " 21:29:41 up 13 days, 9:19, 0 user, load average: 0.05, 0.09, 0.09", "stdout_lines": [" 21:29:41 up 13 days, 9:19, 0 user, load average: 0.05, 0.09, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008494", "end": "2025-12-19 21:30:10.838626", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.830132", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 196 days, 13:03, 1 user, load average: 0.05, 0.11, 0.12", "stdout_lines": [" 21:30:10 up 196 days, 13:03, 1 user, load average: 0.05, 0.11, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009281", "end": "2025-12-19 21:30:10.887460", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.878179", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 196 days, 13:03, 1 user, load average: 0.48, 0.34, 0.24", "stdout_lines": [" 21:30:10 up 196 days, 13:03, 1 user, load average: 0.48, 0.34, 0.24"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004573", "end": "2025-12-19 21:30:11.167543", "msg": "", "rc": 0, "start": "2025-12-19 21:30:10.162970", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 24 days, 8:41, 1 user, load average: 0.79, 0.70, 0.66", "stdout_lines": [" 21:30:10 up 24 days, 8:41, 1 user, load average: 0.79, 0.70, 0.66"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003665", "end": "2025-12-19 21:29:35.010185", "msg": "", "rc": 0, "start": "2025-12-19 21:29:35.006520", "stderr": "", "stderr_lines": [], "stdout": " 21:29:35 up 20 days, 5:31, 0 user, load average: 0.00, 0.04, 0.00", "stdout_lines": [" 21:29:35 up 20 days, 5:31, 0 user, load average: 0.00, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004555", "end": "2025-12-19 21:30:11.338282", "msg": "", "rc": 0, "start": "2025-12-19 21:30:11.333727", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 12:13, 1 user, load average: 0.09, 0.07, 0.02", "stdout_lines": [" 21:30:11 up 12:13, 1 user, load average: 0.09, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003304", "end": "2025-12-19 21:29:37.895279", "msg": "", "rc": 0, "start": "2025-12-19 21:29:37.891975", "stderr": "", "stderr_lines": [], "stdout": " 21:29:37 up 23 days, 23 min, 0 user, load average: 0.70, 0.45, 0.45", "stdout_lines": [" 21:29:37 up 23 days, 23 min, 0 user, load average: 0.70, 0.45, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004216", "end": "2025-12-19 18:30:11.628250", "msg": "", "rc": 0, "start": "2025-12-19 18:30:11.624034", "stderr": "", "stderr_lines": [], "stdout": " 6:30PM up 24 days, 8:19, 1 user, load averages: 0.34, 0.27, 0.25", "stdout_lines": [" 6:30PM up 24 days, 8:19, 1 user, load averages: 0.34, 0.27, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003277", "end": "2025-12-19 21:29:45.389940", "msg": "", "rc": 0, "start": "2025-12-19 21:29:45.386663", "stderr": "", "stderr_lines": [], "stdout": " 21:29:45 up 19 days, 10:45, 0 user, load average: 0.82, 0.61, 0.45", "stdout_lines": [" 21:29:45 up 19 days, 10:45, 0 user, load average: 0.82, 0.61, 0.45"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019663", "end": "2025-12-19 21:30:11.546731", "msg": "", "rc": 0, "start": "2025-12-19 21:30:11.527068", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 17 days, 10:56, 1 user, load average: 0.26, 0.14, 0.10", "stdout_lines": [" 21:30:11 up 17 days, 10:56, 1 user, load average: 0.26, 0.14, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003657", "end": "2025-12-19 21:30:11.756282", "msg": "", "rc": 0, "start": "2025-12-19 21:30:11.752625", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 12:13, 1 user, load average: 0.02, 0.03, 0.05", "stdout_lines": [" 21:30:11 up 12:13, 1 user, load average: 0.02, 0.03, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009565", "end": "2025-12-19 21:30:12.197474", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.187909", "stderr": "", "stderr_lines": [], "stdout": " 21:30:12 up 8:05, 1 user, load average: 1.16, 1.17, 1.17", "stdout_lines": [" 21:30:12 up 8:05, 1 user, load average: 1.16, 1.17, 1.17"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004289", "end": "2025-12-19 21:30:12.173134", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.168845", "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.004135", "end": "2025-12-19 21:30:12.191352", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.187217", "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.004364", "end": "2025-12-19 21:30:12.225441", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.221077", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005820", "end": "2025-12-19 21:30:12.231049", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.225229", "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.004678", "end": "2025-12-19 21:30:12.236805", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.232127", "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.005614", "end": "2025-12-19 21:29:43.842190", "msg": "", "rc": 0, "start": "2025-12-19 21:29:43.836576", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005361", "end": "2025-12-19 21:29:36.592098", "msg": "", "rc": 0, "start": "2025-12-19 21:29:36.586737", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010587", "end": "2025-12-19 21:30:12.930590", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.920003", "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.011643", "end": "2025-12-19 21:30:12.938417", "msg": "", "rc": 0, "start": "2025-12-19 21:30:12.926774", "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.005637", "end": "2025-12-19 21:30:13.197800", "msg": "", "rc": 0, "start": "2025-12-19 21:30:13.192163", "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.005573", "end": "2025-12-19 21:29:39.766532", "msg": "", "rc": 0, "start": "2025-12-19 21:29:39.760959", "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.005353", "end": "2025-12-19 18:30:13.410975", "msg": "", "rc": 0, "start": "2025-12-19 18:30:13.405622", "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.006236", "end": "2025-12-19 21:29:47.250079", "msg": "", "rc": 0, "start": "2025-12-19 21:29:47.243843", "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.005510", "end": "2025-12-19 21:30:13.619934", "msg": "", "rc": 0, "start": "2025-12-19 21:30:13.614424", "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.025616", "end": "2025-12-19 21:30:13.568351", "msg": "", "rc": 0, "start": "2025-12-19 21:30:13.542735", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022993", "end": "2025-12-19 21:30:14.362722", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.339729", "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.004209", "end": "2025-12-19 21:30:14.158116", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.153907", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004219", "end": "2025-12-19 21:30:14.164498", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.160279", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005286", "end": "2025-12-19 21:30:14.192017", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.186731", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.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.005820", "end": "2025-12-19 21:30:14.207433", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.201613", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005217", "end": "2025-12-19 21:30:14.219819", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.214602", "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.003833", "end": "2025-12-19 21:29:45.794795", "msg": "", "rc": 0, "start": "2025-12-19 21:29:45.790962", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004739", "end": "2025-12-19 21:29:38.558776", "msg": "", "rc": 0, "start": "2025-12-19 21:29:38.554037", "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-19 21:30:14.863205", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.852403", "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.012328", "end": "2025-12-19 21:30:14.896053", "msg": "", "rc": 0, "start": "2025-12-19 21:30:14.883725", "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.005798", "end": "2025-12-19 21:30:15.142474", "msg": "", "rc": 0, "start": "2025-12-19 21:30:15.136676", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.005724", "end": "2025-12-19 21:29:41.769141", "msg": "", "rc": 0, "start": "2025-12-19 21:29:41.763417", "stderr": "", "stderr_lines": [], "stdout": "28.0%", "stdout_lines": ["28.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.005075", "end": "2025-12-19 18:30:15.364460", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:30:15.359385", "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.007852", "end": "2025-12-19 21:29:49.141743", "msg": "", "rc": 0, "start": "2025-12-19 21:29:49.133891", "stderr": "", "stderr_lines": [], "stdout": "59.2%", "stdout_lines": ["59.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005318", "end": "2025-12-19 21:30:15.573039", "msg": "", "rc": 0, "start": "2025-12-19 21:30:15.567721", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009879", "end": "2025-12-19 21:30:16.468966", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.459087", "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.026438", "end": "2025-12-19 21:30:15.558647", "msg": "", "rc": 0, "start": "2025-12-19 21:30:15.532209", "stderr": "", "stderr_lines": [], "stdout": "18.4%", "stdout_lines": ["18.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.005268", "end": "2025-12-19 21:30:16.091600", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.086332", "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.004937", "end": "2025-12-19 21:30:16.110314", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.105377", "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.006108", "end": "2025-12-19 21:30:16.120836", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.114728", "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.003256", "end": "2025-12-19 21:30:16.136795", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.133539", "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.006798", "end": "2025-12-19 21:30:16.149371", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.142573", "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.002690", "end": "2025-12-19 21:29:47.715192", "msg": "", "rc": 0, "start": "2025-12-19 21:29:47.712502", "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.002826", "end": "2025-12-19 21:29:40.486274", "msg": "", "rc": 0, "start": "2025-12-19 21:29:40.483448", "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.012012", "end": "2025-12-19 21:30:16.813562", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.801550", "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.012808", "end": "2025-12-19 21:30:16.836477", "msg": "", "rc": 0, "start": "2025-12-19 21:30:16.823669", "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.003079", "end": "2025-12-19 21:30:17.073072", "msg": "", "rc": 0, "start": "2025-12-19 21:30:17.069993", "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.002801", "end": "2025-12-19 21:29:43.669732", "msg": "", "rc": 0, "start": "2025-12-19 21:29:43.666931", "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.003901", "end": "2025-12-19 18:30:17.299822", "msg": "", "rc": 0, "start": "2025-12-19 18:30:17.295921", "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.002589", "end": "2025-12-19 21:29:51.064723", "msg": "", "rc": 0, "start": "2025-12-19 21:29:51.062134", "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.002981", "end": "2025-12-19 21:30:17.494729", "msg": "", "rc": 0, "start": "2025-12-19 21:30:17.491748", "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.004636", "end": "2025-12-19 21:30:18.551124", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.546488", "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.029183", "end": "2025-12-19 21:30:17.495223", "msg": "", "rc": 0, "start": "2025-12-19 21:30:17.466040", "stderr": "", "stderr_lines": [], "stdout": "34.4°C", "stdout_lines": ["34.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.004113", "end": "2025-12-19 21:30:18.009400", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.005287", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004153", "end": "2025-12-19 21:30:18.036812", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.032659", "stderr": "", "stderr_lines": [], "stdout": "0.79", "stdout_lines": ["0.79"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004915", "end": "2025-12-19 21:30:18.048101", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.043186", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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.005448", "end": "2025-12-19 21:30:18.059738", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.054290", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
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.005822", "end": "2025-12-19 21:30:18.084129", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.078307", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.004562", "end": "2025-12-19 21:29:49.662540", "msg": "", "rc": 0, "start": "2025-12-19 21:29:49.657978", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005280", "end": "2025-12-19 21:29:42.468377", "msg": "", "rc": 0, "start": "2025-12-19 21:29:42.463097", "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.010070", "end": "2025-12-19 21:30:18.780942", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.770872", "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.011511", "end": "2025-12-19 21:30:18.794089", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.782578", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005764", "end": "2025-12-19 21:30:18.995042", "msg": "", "rc": 0, "start": "2025-12-19 21:30:18.989278", "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.004938", "end": "2025-12-19 21:29:45.682584", "msg": "", "rc": 0, "start": "2025-12-19 21:29:45.677646", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
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.007353", "end": "2025-12-19 18:30:19.290401", "msg": "", "rc": 0, "start": "2025-12-19 18:30:19.283048", "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.004257", "end": "2025-12-19 21:29:53.038145", "msg": "", "rc": 0, "start": "2025-12-19 21:29:53.033888", "stderr": "", "stderr_lines": [], "stdout": "0.76", "stdout_lines": ["0.76"]}
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.005235", "end": "2025-12-19 21:30:19.434192", "msg": "", "rc": 0, "start": "2025-12-19 21:30:19.428957", "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.024722", "end": "2025-12-19 21:30:19.415351", "msg": "", "rc": 0, "start": "2025-12-19 21:30:19.390629", "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.008394", "end": "2025-12-19 21:30:20.807291", "msg": "", "rc": 0, "start": "2025-12-19 21:30:20.798897", "stderr": "", "stderr_lines": [], "stdout": "1.45", "stdout_lines": ["1.45"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 12:14, 1 user, load average: 0.94, 0.33, 0.22\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.79\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 24 days, 8:21, 1 user, load average: 0.16, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.13\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 24 days, 8:41, 1 user, load average: 0.79, 0.70, 0.66\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.73\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 24 days, 9:54, 1 user, load average: 0.54, 0.58, 0.62\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.49\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 24 days, 10:40, 1 user, load average: 0.18, 0.13, 0.08\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 17 days, 10:56, 1 user, load average: 0.26, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 18.4%\nCPU Load: 0.30\nCPU Temp: 34.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 196 days, 13:03, 1 user, load average: 0.48, 0.34, 0.24\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.64\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 196 days, 13:03, 1 user, load average: 0.05, 0.11, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.04\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:41 up 13 days, 9:19, 0 user, load average: 0.05, 0.09, 0.09\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:35 up 20 days, 5:31, 0 user, load average: 0.00, 0.04, 0.00\nDisk Usage: 25%\nMemory Usage: 64.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 12:13, 1 user, load average: 0.09, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:37 up 23 days, 23 min, 0 user, load average: 0.70, 0.45, 0.45\nDisk Usage: 28%\nMemory Usage: 28.0%\nCPU Load: 0.64\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:45 up 19 days, 10:45, 0 user, load average: 0.82, 0.61, 0.45\nDisk Usage: 76%\nMemory Usage: 59.2%\nCPU Load: 0.76\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:30PM up 24 days, 8:19, 1 user, load averages: 0.34, 0.27, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 12:13, 1 user, load average: 0.02, 0.03, 0.05\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:12 up 8:05, 1 user, load average: 1.16, 1.17, 1.17\nDisk Usage: 1%\nMemory Usage: 12.6%\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-20T02:30:21.812724+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `cd1dc5d34e464aa6a51c58d0df1d666c` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:35:00.000735+00:00 |
| **Fin** | 2025-12-20T02:35:22.495907+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: [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: [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.003771", "end": "2025-12-19 21:35:09.915748", "msg": "", "rc": 0, "start": "2025-12-19 21:35:09.911977", "stderr": "", "stderr_lines": [], "stdout": " 21:35:09 up 24 days, 10:45, 1 user, load average: 0.05, 0.08, 0.08", "stdout_lines": [" 21:35:09 up 24 days, 10:45, 1 user, load average: 0.05, 0.08, 0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002831", "end": "2025-12-19 21:35:09.941572", "msg": "", "rc": 0, "start": "2025-12-19 21:35:09.938741", "stderr": "", "stderr_lines": [], "stdout": " 21:35:09 up 12:19, 1 user, load average: 0.12, 0.23, 0.21", "stdout_lines": [" 21:35:09 up 12:19, 1 user, load average: 0.12, 0.23, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003933", "end": "2025-12-19 21:35:09.939062", "msg": "", "rc": 0, "start": "2025-12-19 21:35:09.935129", "stderr": "", "stderr_lines": [], "stdout": " 21:35:09 up 24 days, 9:59, 1 user, load average: 0.56, 0.55, 0.60", "stdout_lines": [" 21:35:09 up 24 days, 9:59, 1 user, load average: 0.56, 0.55, 0.60"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003617", "end": "2025-12-19 21:35:09.951084", "msg": "", "rc": 0, "start": "2025-12-19 21:35:09.947467", "stderr": "", "stderr_lines": [], "stdout": " 21:35:09 up 24 days, 8:46, 1 user, load average: 0.88, 0.65, 0.64", "stdout_lines": [" 21:35:09 up 24 days, 8:46, 1 user, load average: 0.88, 0.65, 0.64"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003106", "end": "2025-12-19 21:34:41.588550", "msg": "", "rc": 0, "start": "2025-12-19 21:34:41.585444", "stderr": "", "stderr_lines": [], "stdout": " 21:34:41 up 13 days, 9:24, 0 user, load average: 0.17, 0.12, 0.10", "stdout_lines": [" 21:34:41 up 13 days, 9:24, 0 user, load average: 0.17, 0.12, 0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008344", "end": "2025-12-19 21:35:10.641880", "msg": "", "rc": 0, "start": "2025-12-19 21:35:10.633536", "stderr": "", "stderr_lines": [], "stdout": " 21:35:10 up 196 days, 13:08, 1 user, load average: 0.07, 0.10, 0.10", "stdout_lines": [" 21:35:10 up 196 days, 13:08, 1 user, load average: 0.07, 0.10, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009220", "end": "2025-12-19 21:35:10.683670", "msg": "", "rc": 0, "start": "2025-12-19 21:35:10.674450", "stderr": "", "stderr_lines": [], "stdout": " 21:35:10 up 196 days, 13:08, 1 user, load average: 0.31, 0.31, 0.26", "stdout_lines": [" 21:35:10 up 196 days, 13:08, 1 user, load average: 0.31, 0.31, 0.26"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004352", "end": "2025-12-19 21:35:10.911864", "msg": "", "rc": 0, "start": "2025-12-19 21:35:09.907512", "stderr": "", "stderr_lines": [], "stdout": " 21:35:09 up 24 days, 8:26, 1 user, load average: 0.28, 0.18, 0.11", "stdout_lines": [" 21:35:09 up 24 days, 8:26, 1 user, load average: 0.28, 0.18, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003549", "end": "2025-12-19 21:34:34.799241", "msg": "", "rc": 0, "start": "2025-12-19 21:34:34.795692", "stderr": "", "stderr_lines": [], "stdout": " 21:34:34 up 20 days, 5:36, 0 user, load average: 0.11, 0.10, 0.03", "stdout_lines": [" 21:34:34 up 20 days, 5:36, 0 user, load average: 0.11, 0.10, 0.03"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004511", "end": "2025-12-19 21:35:11.160381", "msg": "", "rc": 0, "start": "2025-12-19 21:35:11.155870", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 12:18, 1 user, load average: 0.00, 0.04, 0.00", "stdout_lines": [" 21:35:11 up 12:18, 1 user, load average: 0.00, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003344", "end": "2025-12-19 21:34:37.704406", "msg": "", "rc": 0, "start": "2025-12-19 21:34:37.701062", "stderr": "", "stderr_lines": [], "stdout": " 21:34:37 up 23 days, 28 min, 0 user, load average: 0.38, 0.41, 0.44", "stdout_lines": [" 21:34:37 up 23 days, 28 min, 0 user, load average: 0.38, 0.41, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004345", "end": "2025-12-19 21:34:45.094554", "msg": "", "rc": 0, "start": "2025-12-19 21:34:45.090209", "stderr": "", "stderr_lines": [], "stdout": " 21:34:45 up 19 days, 10:50, 0 user, load average: 0.37, 0.35, 0.36", "stdout_lines": [" 21:34:45 up 19 days, 10:50, 0 user, load average: 0.37, 0.35, 0.36"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004541", "end": "2025-12-19 18:35:11.433778", "msg": "", "rc": 0, "start": "2025-12-19 18:35:11.429237", "stderr": "", "stderr_lines": [], "stdout": " 6:35PM up 24 days, 8:24, 1 user, load averages: 0.29, 0.29, 0.26", "stdout_lines": [" 6:35PM up 24 days, 8:24, 1 user, load averages: 0.29, 0.29, 0.26"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020143", "end": "2025-12-19 21:35:11.346540", "msg": "", "rc": 0, "start": "2025-12-19 21:35:11.326397", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 17 days, 11:01, 1 user, load average: 0.39, 0.17, 0.11", "stdout_lines": [" 21:35:11 up 17 days, 11:01, 1 user, load average: 0.39, 0.17, 0.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003811", "end": "2025-12-19 21:35:11.586411", "msg": "", "rc": 0, "start": "2025-12-19 21:35:11.582600", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 12:18, 1 user, load average: 0.12, 0.12, 0.08", "stdout_lines": [" 21:35:11 up 12:18, 1 user, load average: 0.12, 0.12, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008469", "end": "2025-12-19 21:35:12.696281", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.687812", "stderr": "", "stderr_lines": [], "stdout": " 21:35:12 up 8:11, 1 user, load average: 1.26, 1.19, 1.18", "stdout_lines": [" 21:35:12 up 8:11, 1 user, load average: 1.26, 1.19, 1.18"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004178", "end": "2025-12-19 21:35:12.010232", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.006054", "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.004155", "end": "2025-12-19 21:35:12.028032", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.023877", "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.004755", "end": "2025-12-19 21:35:12.064330", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.059575", "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.004935", "end": "2025-12-19 21:35:12.065831", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.060896", "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.005458", "end": "2025-12-19 21:35:12.082803", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.077345", "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.005352", "end": "2025-12-19 21:34:43.692633", "msg": "", "rc": 0, "start": "2025-12-19 21:34:43.687281", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005439", "end": "2025-12-19 21:34:36.452314", "msg": "", "rc": 0, "start": "2025-12-19 21:34:36.446875", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010342", "end": "2025-12-19 21:35:12.797083", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.786741", "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.011593", "end": "2025-12-19 21:35:12.819512", "msg": "", "rc": 0, "start": "2025-12-19 21:35:12.807919", "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.005806", "end": "2025-12-19 21:35:13.053068", "msg": "", "rc": 0, "start": "2025-12-19 21:35:13.047262", "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.005436", "end": "2025-12-19 21:34:39.650464", "msg": "", "rc": 0, "start": "2025-12-19 21:34:39.645028", "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.005352", "end": "2025-12-19 18:35:13.289791", "msg": "", "rc": 0, "start": "2025-12-19 18:35:13.284439", "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-19 21:34:47.053523", "msg": "", "rc": 0, "start": "2025-12-19 21:34:47.048767", "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.005481", "end": "2025-12-19 21:35:13.476125", "msg": "", "rc": 0, "start": "2025-12-19 21:35:13.470644", "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.026094", "end": "2025-12-19 21:35:13.424200", "msg": "", "rc": 0, "start": "2025-12-19 21:35:13.398106", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022565", "end": "2025-12-19 21:35:14.859786", "msg": "", "rc": 0, "start": "2025-12-19 21:35:14.837221", "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.004186", "end": "2025-12-19 21:35:13.985384", "msg": "", "rc": 0, "start": "2025-12-19 21:35:13.981198", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004152", "end": "2025-12-19 21:35:13.998998", "msg": "", "rc": 0, "start": "2025-12-19 21:35:13.994846", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004765", "end": "2025-12-19 21:35:14.022917", "msg": "", "rc": 0, "start": "2025-12-19 21:35:14.018152", "stderr": "", "stderr_lines": [], "stdout": "48.9%", "stdout_lines": ["48.9%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005307", "end": "2025-12-19 21:35:14.053916", "msg": "", "rc": 0, "start": "2025-12-19 21:35:14.048609", "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.005749", "end": "2025-12-19 21:35:14.049830", "msg": "", "rc": 0, "start": "2025-12-19 21:35:14.044081", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004166", "end": "2025-12-19 21:34:45.659411", "msg": "", "rc": 0, "start": "2025-12-19 21:34:45.655245", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004603", "end": "2025-12-19 21:34:38.404842", "msg": "", "rc": 0, "start": "2025-12-19 21:34:38.400239", "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.011332", "end": "2025-12-19 21:35:14.693711", "msg": "", "rc": 0, "start": "2025-12-19 21:35:14.682379", "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.011991", "end": "2025-12-19 21:35:14.734908", "msg": "", "rc": 0, "start": "2025-12-19 21:35:14.722917", "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.005711", "end": "2025-12-19 21:35:15.041033", "msg": "", "rc": 0, "start": "2025-12-19 21:35:15.035322", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.003901", "end": "2025-12-19 21:34:41.598781", "msg": "", "rc": 0, "start": "2025-12-19 21:34:41.594880", "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.005130", "end": "2025-12-19 18:35:15.210905", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:35:15.205775", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004600", "end": "2025-12-19 21:34:48.952516", "msg": "", "rc": 0, "start": "2025-12-19 21:34:48.947916", "stderr": "", "stderr_lines": [], "stdout": "57.7%", "stdout_lines": ["57.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.005323", "end": "2025-12-19 21:35:15.490075", "msg": "", "rc": 0, "start": "2025-12-19 21:35:15.484752", "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.026134", "end": "2025-12-19 21:35:15.387269", "msg": "", "rc": 0, "start": "2025-12-19 21:35:15.361135", "stderr": "", "stderr_lines": [], "stdout": "18.2%", "stdout_lines": ["18.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.009646", "end": "2025-12-19 21:35:17.027432", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.017786", "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.004821", "end": "2025-12-19 21:35:15.969868", "msg": "", "rc": 0, "start": "2025-12-19 21:35:15.965047", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005302", "end": "2025-12-19 21:35:15.966294", "msg": "", "rc": 0, "start": "2025-12-19 21:35:15.960992", "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.005920", "end": "2025-12-19 21:35:15.978742", "msg": "", "rc": 0, "start": "2025-12-19 21:35:15.972822", "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.003122", "end": "2025-12-19 21:35:16.033571", "msg": "", "rc": 0, "start": "2025-12-19 21:35:16.030449", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006581", "end": "2025-12-19 21:35:16.042109", "msg": "", "rc": 0, "start": "2025-12-19 21:35:16.035528", "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.002623", "end": "2025-12-19 21:34:47.624937", "msg": "", "rc": 0, "start": "2025-12-19 21:34:47.622314", "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-19 21:34:40.382488", "msg": "", "rc": 0, "start": "2025-12-19 21:34:40.379445", "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.011756", "end": "2025-12-19 21:35:16.684448", "msg": "", "rc": 0, "start": "2025-12-19 21:35:16.672692", "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.013078", "end": "2025-12-19 21:35:16.706814", "msg": "", "rc": 0, "start": "2025-12-19 21:35:16.693736", "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.003115", "end": "2025-12-19 21:35:16.969664", "msg": "", "rc": 0, "start": "2025-12-19 21:35:16.966549", "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.002606", "end": "2025-12-19 21:34:43.556262", "msg": "", "rc": 0, "start": "2025-12-19 21:34:43.553656", "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.003899", "end": "2025-12-19 18:35:17.181633", "msg": "", "rc": 0, "start": "2025-12-19 18:35:17.177734", "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.003685", "end": "2025-12-19 21:34:50.940725", "msg": "", "rc": 0, "start": "2025-12-19 21:34:50.937040", "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-19 21:35:17.389524", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.386632", "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.005380", "end": "2025-12-19 21:35:19.149094", "msg": "", "rc": 0, "start": "2025-12-19 21:35:19.143714", "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.029164", "end": "2025-12-19 21:35:17.390661", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.361497", "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.004143", "end": "2025-12-19 21:35:17.933844", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.929701", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003917", "end": "2025-12-19 21:35:17.943562", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.939645", "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.004641", "end": "2025-12-19 21:35:17.954513", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.949872", "stderr": "", "stderr_lines": [], "stdout": "1.20", "stdout_lines": ["1.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.005099", "end": "2025-12-19 21:35:17.978894", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.973795", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005323", "end": "2025-12-19 21:35:18.000940", "msg": "", "rc": 0, "start": "2025-12-19 21:35:17.995617", "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.004458", "end": "2025-12-19 21:34:49.595916", "msg": "", "rc": 0, "start": "2025-12-19 21:34:49.591458", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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.005101", "end": "2025-12-19 21:34:42.362993", "msg": "", "rc": 0, "start": "2025-12-19 21:34:42.357892", "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.010471", "end": "2025-12-19 21:35:18.731193", "msg": "", "rc": 0, "start": "2025-12-19 21:35:18.720722", "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.011613", "end": "2025-12-19 21:35:18.742591", "msg": "", "rc": 0, "start": "2025-12-19 21:35:18.730978", "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.005545", "end": "2025-12-19 21:35:18.942317", "msg": "", "rc": 0, "start": "2025-12-19 21:35:18.936772", "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.006513", "end": "2025-12-19 21:34:45.617120", "msg": "", "rc": 0, "start": "2025-12-19 21:34:45.610607", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005857", "end": "2025-12-19 18:35:19.232753", "msg": "", "rc": 0, "start": "2025-12-19 18:35:19.226896", "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.004490", "end": "2025-12-19 21:34:53.015825", "msg": "", "rc": 0, "start": "2025-12-19 21:34:53.011335", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005214", "end": "2025-12-19 21:35:19.387795", "msg": "", "rc": 0, "start": "2025-12-19 21:35:19.382581", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024889", "end": "2025-12-19 21:35:19.353270", "msg": "", "rc": 0, "start": "2025-12-19 21:35:19.328381", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.008143", "end": "2025-12-19 21:35:21.424638", "msg": "", "rc": 0, "start": "2025-12-19 21:35:21.416495", "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: 21:35:09 up 24 days, 8:26, 1 user, load average: 0.28, 0.18, 0.11\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.24\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:09 up 12:19, 1 user, load average: 0.12, 0.23, 0.21\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.18\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:09 up 24 days, 8:46, 1 user, load average: 0.88, 0.65, 0.64\nDisk Usage: 14%\nMemory Usage: 48.9%\nCPU Load: 1.20\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:09 up 24 days, 9:59, 1 user, load average: 0.56, 0.55, 0.60\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.60\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 17 days, 11:01, 1 user, load average: 0.39, 0.17, 0.11\nDisk Usage: 21%\nMemory Usage: 18.2%\nCPU Load: 0.49\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:09 up 24 days, 10:45, 1 user, load average: 0.05, 0.08, 0.08\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:10 up 196 days, 13:08, 1 user, load average: 0.31, 0.31, 0.26\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.29\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:10 up 196 days, 13:08, 1 user, load average: 0.07, 0.10, 0.10\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.14\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:41 up 13 days, 9:24, 0 user, load average: 0.17, 0.12, 0.10\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:34 up 20 days, 5:36, 0 user, load average: 0.11, 0.10, 0.03\nDisk Usage: 25%\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: 21:35:11 up 12:18, 1 user, load average: 0.00, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:37 up 23 days, 28 min, 0 user, load average: 0.38, 0.41, 0.44\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:45 up 19 days, 10:50, 0 user, load average: 0.37, 0.35, 0.36\nDisk Usage: 76%\nMemory Usage: 57.7%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:35PM up 24 days, 8:24, 1 user, load averages: 0.29, 0.29, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 12:18, 1 user, load average: 0.12, 0.12, 0.08\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:12 up 8:11, 1 user, load average: 1.26, 1.19, 1.18\nDisk Usage: 1%\nMemory Usage: 12.5%\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-20T02:35:22.593994+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8fa72c0db5994025a32f15f8099a25d7` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:40:00.001260+00:00 |
| **Fin** | 2025-12-20T02:40:24.575035+00:00 |
| **Durée** | 24.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003205", "end": "2025-12-19 21:40:11.646290", "msg": "", "rc": 0, "start": "2025-12-19 21:40:11.643085", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 24 days, 8:31, 1 user, load average: 0.31, 0.19, 0.12", "stdout_lines": [" 21:40:11 up 24 days, 8:31, 1 user, load average: 0.31, 0.19, 0.12"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003389", "end": "2025-12-19 21:40:11.656916", "msg": "", "rc": 0, "start": "2025-12-19 21:40:11.653527", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 24 days, 8:51, 1 user, load average: 0.48, 0.70, 0.69", "stdout_lines": [" 21:40:11 up 24 days, 8:51, 1 user, load average: 0.48, 0.70, 0.69"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003478", "end": "2025-12-19 21:40:11.659098", "msg": "", "rc": 0, "start": "2025-12-19 21:40:11.655620", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 24 days, 10:50, 1 user, load average: 0.13, 0.09, 0.08", "stdout_lines": [" 21:40:11 up 24 days, 10:50, 1 user, load average: 0.13, 0.09, 0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002872", "end": "2025-12-19 21:40:11.689057", "msg": "", "rc": 0, "start": "2025-12-19 21:40:11.686185", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 12:24, 1 user, load average: 0.07, 0.12, 0.16", "stdout_lines": [" 21:40:11 up 12:24, 1 user, load average: 0.07, 0.12, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003912", "end": "2025-12-19 21:40:11.680329", "msg": "", "rc": 0, "start": "2025-12-19 21:40:11.676417", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 24 days, 10:04, 1 user, load average: 0.62, 0.60, 0.62", "stdout_lines": [" 21:40:11 up 24 days, 10:04, 1 user, load average: 0.62, 0.60, 0.62"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002849", "end": "2025-12-19 21:39:43.264771", "msg": "", "rc": 0, "start": "2025-12-19 21:39:43.261922", "stderr": "", "stderr_lines": [], "stdout": " 21:39:43 up 13 days, 9:29, 0 user, load average: 0.03, 0.08, 0.08", "stdout_lines": [" 21:39:43 up 13 days, 9:29, 0 user, load average: 0.03, 0.08, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003488", "end": "2025-12-19 21:39:36.013419", "msg": "", "rc": 0, "start": "2025-12-19 21:39:36.009931", "stderr": "", "stderr_lines": [], "stdout": " 21:39:36 up 20 days, 5:41, 0 user, load average: 0.01, 0.04, 0.00", "stdout_lines": [" 21:39:36 up 20 days, 5:41, 0 user, load average: 0.01, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008346", "end": "2025-12-19 21:40:12.318325", "msg": "", "rc": 0, "start": "2025-12-19 21:40:12.309979", "stderr": "", "stderr_lines": [], "stdout": " 21:40:12 up 196 days, 13:13, 1 user, load average: 0.17, 0.12, 0.10", "stdout_lines": [" 21:40:12 up 196 days, 13:13, 1 user, load average: 0.17, 0.12, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009213", "end": "2025-12-19 21:40:12.366586", "msg": "", "rc": 0, "start": "2025-12-19 21:40:12.357373", "stderr": "", "stderr_lines": [], "stdout": " 21:40:12 up 196 days, 13:13, 1 user, load average: 0.25, 0.28, 0.26", "stdout_lines": [" 21:40:12 up 196 days, 13:13, 1 user, load average: 0.25, 0.28, 0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004452", "end": "2025-12-19 21:40:12.622997", "msg": "", "rc": 0, "start": "2025-12-19 21:40:12.618545", "stderr": "", "stderr_lines": [], "stdout": " 21:40:12 up 12:23, 1 user, load average: 0.09, 0.07, 0.01", "stdout_lines": [" 21:40:12 up 12:23, 1 user, load average: 0.09, 0.07, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003108", "end": "2025-12-19 21:39:39.190084", "msg": "", "rc": 0, "start": "2025-12-19 21:39:39.186976", "stderr": "", "stderr_lines": [], "stdout": " 21:39:39 up 23 days, 33 min, 0 user, load average: 0.58, 0.50, 0.46", "stdout_lines": [" 21:39:39 up 23 days, 33 min, 0 user, load average: 0.58, 0.50, 0.46"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002861", "end": "2025-12-19 21:39:46.547902", "msg": "", "rc": 0, "start": "2025-12-19 21:39:46.545041", "stderr": "", "stderr_lines": [], "stdout": " 21:39:46 up 19 days, 10:55, 0 user, load average: 0.08, 0.23, 0.31", "stdout_lines": [" 21:39:46 up 19 days, 10:55, 0 user, load average: 0.08, 0.23, 0.31"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004174", "end": "2025-12-19 18:40:12.824081", "msg": "", "rc": 0, "start": "2025-12-19 18:40:12.819907", "stderr": "", "stderr_lines": [], "stdout": " 6:40PM up 24 days, 8:30, 1 user, load averages: 0.17, 0.20, 0.22", "stdout_lines": [" 6:40PM up 24 days, 8:30, 1 user, load averages: 0.17, 0.20, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003611", "end": "2025-12-19 21:40:13.046513", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.042902", "stderr": "", "stderr_lines": [], "stdout": " 21:40:13 up 12:23, 1 user, load average: 0.00, 0.04, 0.05", "stdout_lines": [" 21:40:13 up 12:23, 1 user, load average: 0.00, 0.04, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008821", "end": "2025-12-19 21:40:15.025547", "msg": "", "rc": 0, "start": "2025-12-19 21:40:15.016726", "stderr": "", "stderr_lines": [], "stdout": " 21:40:15 up 8:16, 1 user, load average: 1.21, 1.14, 1.16", "stdout_lines": [" 21:40:15 up 8:16, 1 user, load average: 1.21, 1.14, 1.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019966", "end": "2025-12-19 21:40:13.037429", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.017463", "stderr": "", "stderr_lines": [], "stdout": " 21:40:13 up 17 days, 11:06, 1 user, load average: 0.33, 0.19, 0.12", "stdout_lines": [" 21:40:13 up 17 days, 11:06, 1 user, load average: 0.33, 0.19, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004243", "end": "2025-12-19 21:40:13.566296", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.562053", "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-19 21:40:13.592849", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.588759", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005033", "end": "2025-12-19 21:40:13.599543", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.594510", "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.004693", "end": "2025-12-19 21:40:13.622339", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.617646", "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.005702", "end": "2025-12-19 21:40:13.641013", "msg": "", "rc": 0, "start": "2025-12-19 21:40:13.635311", "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.005101", "end": "2025-12-19 21:39:45.200537", "msg": "", "rc": 0, "start": "2025-12-19 21:39:45.195436", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005628", "end": "2025-12-19 21:39:37.993788", "msg": "", "rc": 0, "start": "2025-12-19 21:39:37.988160", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010664", "end": "2025-12-19 21:40:14.332007", "msg": "", "rc": 0, "start": "2025-12-19 21:40:14.321343", "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.011571", "end": "2025-12-19 21:40:14.384922", "msg": "", "rc": 0, "start": "2025-12-19 21:40:14.373351", "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.005804", "end": "2025-12-19 21:40:14.551522", "msg": "", "rc": 0, "start": "2025-12-19 21:40:14.545718", "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.005795", "end": "2025-12-19 21:39:41.162094", "msg": "", "rc": 0, "start": "2025-12-19 21:39:41.156299", "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.005009", "end": "2025-12-19 21:39:48.538752", "msg": "", "rc": 0, "start": "2025-12-19 21:39:48.533743", "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.005466", "end": "2025-12-19 18:40:14.847477", "msg": "", "rc": 0, "start": "2025-12-19 18:40:14.842011", "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.005215", "end": "2025-12-19 21:40:14.982415", "msg": "", "rc": 0, "start": "2025-12-19 21:40:14.977200", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022860", "end": "2025-12-19 21:40:17.186943", "msg": "", "rc": 0, "start": "2025-12-19 21:40:17.164083", "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.025885", "end": "2025-12-19 21:40:14.968489", "msg": "", "rc": 0, "start": "2025-12-19 21:40:14.942604", "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.004939", "end": "2025-12-19 21:40:15.508216", "msg": "", "rc": 0, "start": "2025-12-19 21:40:15.503277", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004286", "end": "2025-12-19 21:40:15.543841", "msg": "", "rc": 0, "start": "2025-12-19 21:40:15.539555", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005092", "end": "2025-12-19 21:40:15.557147", "msg": "", "rc": 0, "start": "2025-12-19 21:40:15.552055", "stderr": "", "stderr_lines": [], "stdout": "48.8%", "stdout_lines": ["48.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.004955", "end": "2025-12-19 21:40:15.571374", "msg": "", "rc": 0, "start": "2025-12-19 21:40:15.566419", "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.005564", "end": "2025-12-19 21:40:15.577146", "msg": "", "rc": 0, "start": "2025-12-19 21:40:15.571582", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004616", "end": "2025-12-19 21:39:47.160316", "msg": "", "rc": 0, "start": "2025-12-19 21:39:47.155700", "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.004281", "end": "2025-12-19 21:39:39.926658", "msg": "", "rc": 0, "start": "2025-12-19 21:39:39.922377", "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.010973", "end": "2025-12-19 21:40:16.244259", "msg": "", "rc": 0, "start": "2025-12-19 21:40:16.233286", "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.012079", "end": "2025-12-19 21:40:16.283758", "msg": "", "rc": 0, "start": "2025-12-19 21:40:16.271679", "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.005676", "end": "2025-12-19 21:40:16.516097", "msg": "", "rc": 0, "start": "2025-12-19 21:40:16.510421", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.004345", "end": "2025-12-19 21:39:43.107442", "msg": "", "rc": 0, "start": "2025-12-19 21:39:43.103097", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004066", "end": "2025-12-19 21:39:50.475571", "msg": "", "rc": 0, "start": "2025-12-19 21:39:50.471505", "stderr": "", "stderr_lines": [], "stdout": "54.7%", "stdout_lines": ["54.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.005136", "end": "2025-12-19 18:40:16.743784", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:40:16.738648", "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.005956", "end": "2025-12-19 21:40:16.957079", "msg": "", "rc": 0, "start": "2025-12-19 21:40:16.951123", "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.010888", "end": "2025-12-19 21:40:19.325277", "msg": "", "rc": 0, "start": "2025-12-19 21:40:19.314389", "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.026481", "end": "2025-12-19 21:40:16.920526", "msg": "", "rc": 0, "start": "2025-12-19 21:40:16.894045", "stderr": "", "stderr_lines": [], "stdout": "19.1%", "stdout_lines": ["19.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005091", "end": "2025-12-19 21:40:17.457515", "msg": "", "rc": 0, "start": "2025-12-19 21:40:17.452424", "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-19 21:40:17.484270", "msg": "", "rc": 0, "start": "2025-12-19 21:40:17.479435", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003337", "end": "2025-12-19 21:40:17.514569", "msg": "", "rc": 0, "start": "2025-12-19 21:40:17.511232", "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.005462", "end": "2025-12-19 21:40:17.518461", "msg": "", "rc": 0, "start": "2025-12-19 21:40:17.512999", "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.006910", "end": "2025-12-19 21:40:17.534807", "msg": "", "rc": 0, "start": "2025-12-19 21:40:17.527897", "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.002724", "end": "2025-12-19 21:39:49.096763", "msg": "", "rc": 0, "start": "2025-12-19 21:39:49.094039", "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.004264", "end": "2025-12-19 21:39:41.892352", "msg": "", "rc": 0, "start": "2025-12-19 21:39:41.888088", "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.011669", "end": "2025-12-19 21:40:18.186761", "msg": "", "rc": 0, "start": "2025-12-19 21:40:18.175092", "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.012949", "end": "2025-12-19 21:40:18.212107", "msg": "", "rc": 0, "start": "2025-12-19 21:40:18.199158", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003093", "end": "2025-12-19 21:40:18.465021", "msg": "", "rc": 0, "start": "2025-12-19 21:40:18.461928", "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.003155", "end": "2025-12-19 21:39:45.103502", "msg": "", "rc": 0, "start": "2025-12-19 21:39:45.100347", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003941", "end": "2025-12-19 18:40:18.684307", "msg": "", "rc": 0, "start": "2025-12-19 18:40:18.680366", "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.002349", "end": "2025-12-19 21:39:52.438795", "msg": "", "rc": 0, "start": "2025-12-19 21:39:52.436446", "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.002899", "end": "2025-12-19 21:40:18.903645", "msg": "", "rc": 0, "start": "2025-12-19 21:40:18.900746", "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.029395", "end": "2025-12-19 21:40:18.879763", "msg": "", "rc": 0, "start": "2025-12-19 21:40:18.850368", "stderr": "", "stderr_lines": [], "stdout": "34.4°C", "stdout_lines": ["34.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.004741", "end": "2025-12-19 21:40:21.539062", "msg": "", "rc": 0, "start": "2025-12-19 21:40:21.534321", "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.004134", "end": "2025-12-19 21:40:19.426664", "msg": "", "rc": 0, "start": "2025-12-19 21:40:19.422530", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.003975", "end": "2025-12-19 21:40:19.435049", "msg": "", "rc": 0, "start": "2025-12-19 21:40:19.431074", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004629", "end": "2025-12-19 21:40:19.469840", "msg": "", "rc": 0, "start": "2025-12-19 21:40:19.465211", "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.005190", "end": "2025-12-19 21:40:19.489627", "msg": "", "rc": 0, "start": "2025-12-19 21:40:19.484437", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005451", "end": "2025-12-19 21:40:19.487536", "msg": "", "rc": 0, "start": "2025-12-19 21:40:19.482085", "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.004857", "end": "2025-12-19 21:39:51.053216", "msg": "", "rc": 0, "start": "2025-12-19 21:39:51.048359", "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.005358", "end": "2025-12-19 21:39:43.845342", "msg": "", "rc": 0, "start": "2025-12-19 21:39:43.839984", "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.010258", "end": "2025-12-19 21:40:20.226297", "msg": "", "rc": 0, "start": "2025-12-19 21:40:20.216039", "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.011794", "end": "2025-12-19 21:40:20.263695", "msg": "", "rc": 0, "start": "2025-12-19 21:40:20.251901", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005614", "end": "2025-12-19 21:40:20.401570", "msg": "", "rc": 0, "start": "2025-12-19 21:40:20.395956", "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.004931", "end": "2025-12-19 21:39:47.021873", "msg": "", "rc": 0, "start": "2025-12-19 21:39:47.016942", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.004098", "end": "2025-12-19 21:39:54.454878", "msg": "", "rc": 0, "start": "2025-12-19 21:39:54.450780", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005961", "end": "2025-12-19 18:40:20.751148", "msg": "", "rc": 0, "start": "2025-12-19 18:40:20.745187", "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.005271", "end": "2025-12-19 21:40:20.834770", "msg": "", "rc": 0, "start": "2025-12-19 21:40:20.829499", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024765", "end": "2025-12-19 21:40:20.827424", "msg": "", "rc": 0, "start": "2025-12-19 21:40:20.802659", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007724", "end": "2025-12-19 21:40:23.655599", "msg": "", "rc": 0, "start": "2025-12-19 21:40:23.647875", "stderr": "", "stderr_lines": [], "stdout": "1.26", "stdout_lines": ["1.26"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 12:24, 1 user, load average: 0.07, 0.12, 0.16\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.06\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 24 days, 8:31, 1 user, load average: 0.31, 0.19, 0.12\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.33\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 24 days, 8:51, 1 user, load average: 0.48, 0.70, 0.69\nDisk Usage: 14%\nMemory Usage: 48.8%\nCPU Load: 0.52\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 24 days, 10:04, 1 user, load average: 0.62, 0.60, 0.62\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.68\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 24 days, 10:50, 1 user, load average: 0.13, 0.09, 0.08\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:13 up 17 days, 11:06, 1 user, load average: 0.33, 0.19, 0.12\nDisk Usage: 21%\nMemory Usage: 19.1%\nCPU Load: 0.35\nCPU Temp: 34.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:12 up 196 days, 13:13, 1 user, load average: 0.25, 0.28, 0.26\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.36\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:12 up 196 days, 13:13, 1 user, load average: 0.17, 0.12, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.30\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:43 up 13 days, 9:29, 0 user, load average: 0.03, 0.08, 0.08\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:36 up 20 days, 5:41, 0 user, load average: 0.01, 0.04, 0.00\nDisk Usage: 25%\nMemory Usage: 64.6%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:12 up 12:23, 1 user, load average: 0.09, 0.07, 0.01\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:39 up 23 days, 33 min, 0 user, load average: 0.58, 0.50, 0.46\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:46 up 19 days, 10:55, 0 user, load average: 0.08, 0.23, 0.31\nDisk Usage: 76%\nMemory Usage: 54.7%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:40PM up 24 days, 8:30, 1 user, load averages: 0.17, 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: 21:40:13 up 12:23, 1 user, load average: 0.00, 0.04, 0.05\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: 21:40:15 up 8:16, 1 user, load average: 1.21, 1.14, 1.16\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T02:40:24.641663+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `19e005acbecc430c8a259166ee6919b0` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:45:00.002578+00:00 |
| **Fin** | 2025-12-20T02:45:21.236539+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: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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.003924", "end": "2025-12-19 21:45:10.443472", "msg": "", "rc": 0, "start": "2025-12-19 21:45:10.439548", "stderr": "", "stderr_lines": [], "stdout": " 21:45:10 up 24 days, 10:55, 1 user, load average: 0.07, 0.08, 0.08", "stdout_lines": [" 21:45:10 up 24 days, 10:55, 1 user, load average: 0.07, 0.08, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003376", "end": "2025-12-19 21:45:10.453505", "msg": "", "rc": 0, "start": "2025-12-19 21:45:10.450129", "stderr": "", "stderr_lines": [], "stdout": " 21:45:10 up 24 days, 8:56, 1 user, load average: 0.56, 0.74, 0.72", "stdout_lines": [" 21:45:10 up 24 days, 8:56, 1 user, load average: 0.56, 0.74, 0.72"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002868", "end": "2025-12-19 21:45:10.470735", "msg": "", "rc": 0, "start": "2025-12-19 21:45:10.467867", "stderr": "", "stderr_lines": [], "stdout": " 21:45:10 up 12:29, 1 user, load average: 0.11, 0.17, 0.17", "stdout_lines": [" 21:45:10 up 12:29, 1 user, load average: 0.11, 0.17, 0.17"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004059", "end": "2025-12-19 21:45:10.469614", "msg": "", "rc": 0, "start": "2025-12-19 21:45:10.465555", "stderr": "", "stderr_lines": [], "stdout": " 21:45:10 up 24 days, 10:09, 1 user, load average: 0.93, 0.76, 0.67", "stdout_lines": [" 21:45:10 up 24 days, 10:09, 1 user, load average: 0.93, 0.76, 0.67"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002793", "end": "2025-12-19 21:44:42.080726", "msg": "", "rc": 0, "start": "2025-12-19 21:44:42.077933", "stderr": "", "stderr_lines": [], "stdout": " 21:44:42 up 13 days, 9:34, 0 user, load average: 0.08, 0.07, 0.08", "stdout_lines": [" 21:44:42 up 13 days, 9:34, 0 user, load average: 0.08, 0.07, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008373", "end": "2025-12-19 21:45:11.155295", "msg": "", "rc": 0, "start": "2025-12-19 21:45:11.146922", "stderr": "", "stderr_lines": [], "stdout": " 21:45:11 up 196 days, 13:18, 1 user, load average: 0.20, 0.14, 0.10", "stdout_lines": [" 21:45:11 up 196 days, 13:18, 1 user, load average: 0.20, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009125", "end": "2025-12-19 21:45:11.197313", "msg": "", "rc": 0, "start": "2025-12-19 21:45:11.188188", "stderr": "", "stderr_lines": [], "stdout": " 21:45:11 up 196 days, 13:18, 1 user, load average: 0.11, 0.18, 0.22", "stdout_lines": [" 21:45:11 up 196 days, 13:18, 1 user, load average: 0.11, 0.18, 0.22"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004008", "end": "2025-12-19 21:45:11.447052", "msg": "", "rc": 0, "start": "2025-12-19 21:45:10.443044", "stderr": "", "stderr_lines": [], "stdout": " 21:45:10 up 24 days, 8:36, 1 user, load average: 0.20, 0.17, 0.11", "stdout_lines": [" 21:45:10 up 24 days, 8:36, 1 user, load average: 0.20, 0.17, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003527", "end": "2025-12-19 21:44:35.294043", "msg": "", "rc": 0, "start": "2025-12-19 21:44:35.290516", "stderr": "", "stderr_lines": [], "stdout": " 21:44:35 up 20 days, 5:46, 0 user, load average: 0.03, 0.04, 0.00", "stdout_lines": [" 21:44:35 up 20 days, 5:46, 0 user, load average: 0.03, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004504", "end": "2025-12-19 21:45:11.671020", "msg": "", "rc": 0, "start": "2025-12-19 21:45:11.666516", "stderr": "", "stderr_lines": [], "stdout": " 21:45:11 up 12:28, 1 user, load average: 0.05, 0.03, 0.00", "stdout_lines": [" 21:45:11 up 12:28, 1 user, load average: 0.05, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003420", "end": "2025-12-19 21:44:38.209961", "msg": "", "rc": 0, "start": "2025-12-19 21:44:38.206541", "stderr": "", "stderr_lines": [], "stdout": " 21:44:38 up 23 days, 38 min, 0 user, load average: 0.30, 0.37, 0.42", "stdout_lines": [" 21:44:38 up 23 days, 38 min, 0 user, load average: 0.30, 0.37, 0.42"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002682", "end": "2025-12-19 21:44:45.630161", "msg": "", "rc": 0, "start": "2025-12-19 21:44:45.627479", "stderr": "", "stderr_lines": [], "stdout": " 21:44:45 up 19 days, 11:00, 0 user, load average: 0.20, 0.33, 0.35", "stdout_lines": [" 21:44:45 up 19 days, 11:00, 0 user, load average: 0.20, 0.33, 0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004238", "end": "2025-12-19 18:45:11.947327", "msg": "", "rc": 0, "start": "2025-12-19 18:45:11.943089", "stderr": "", "stderr_lines": [], "stdout": " 6:45PM up 24 days, 8:34, 1 user, load averages: 0.41, 0.27, 0.24", "stdout_lines": [" 6:45PM up 24 days, 8:34, 1 user, load averages: 0.41, 0.27, 0.24"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019844", "end": "2025-12-19 21:45:11.857715", "msg": "", "rc": 0, "start": "2025-12-19 21:45:11.837871", "stderr": "", "stderr_lines": [], "stdout": " 21:45:11 up 17 days, 11:11, 1 user, load average: 0.29, 0.16, 0.11", "stdout_lines": [" 21:45:11 up 17 days, 11:11, 1 user, load average: 0.29, 0.16, 0.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004607", "end": "2025-12-19 21:45:12.113264", "msg": "", "rc": 0, "start": "2025-12-19 21:45:12.108657", "stderr": "", "stderr_lines": [], "stdout": " 21:45:12 up 12:28, 1 user, load average: 0.00, 0.01, 0.03", "stdout_lines": [" 21:45:12 up 12:28, 1 user, load average: 0.00, 0.01, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006133", "end": "2025-12-19 21:45:14.626261", "msg": "", "rc": 0, "start": "2025-12-19 21:45:14.620128", "stderr": "", "stderr_lines": [], "stdout": " 21:45:14 up 8:22, 1 user, load average: 1.14, 1.10, 1.12", "stdout_lines": [" 21:45:14 up 8:22, 1 user, load average: 1.14, 1.10, 1.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004224", "end": "2025-12-19 21:45:12.535767", "msg": "", "rc": 0, "start": "2025-12-19 21:45:12.531543", "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.004306", "end": "2025-12-19 21:45:12.545088", "msg": "", "rc": 0, "start": "2025-12-19 21:45:12.540782", "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.004697", "end": "2025-12-19 21:45:12.584671", "msg": "", "rc": 0, "start": "2025-12-19 21:45:12.579974", "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.004890", "end": "2025-12-19 21:45:12.584356", "msg": "", "rc": 0, "start": "2025-12-19 21:45:12.579466", "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.005625", "end": "2025-12-19 21:45:12.604014", "msg": "", "rc": 0, "start": "2025-12-19 21:45:12.598389", "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.004948", "end": "2025-12-19 21:44:44.191969", "msg": "", "rc": 0, "start": "2025-12-19 21:44:44.187021", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006463", "end": "2025-12-19 21:44:36.935319", "msg": "", "rc": 0, "start": "2025-12-19 21:44:36.928856", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010453", "end": "2025-12-19 21:45:13.284021", "msg": "", "rc": 0, "start": "2025-12-19 21:45:13.273568", "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.011629", "end": "2025-12-19 21:45:13.320942", "msg": "", "rc": 0, "start": "2025-12-19 21:45:13.309313", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005684", "end": "2025-12-19 21:45:13.527921", "msg": "", "rc": 0, "start": "2025-12-19 21:45:13.522237", "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-19 21:44:40.106062", "msg": "", "rc": 0, "start": "2025-12-19 21:44:40.100545", "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.004727", "end": "2025-12-19 21:44:47.504136", "msg": "", "rc": 0, "start": "2025-12-19 21:44:47.499409", "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.005293", "end": "2025-12-19 18:45:13.780880", "msg": "", "rc": 0, "start": "2025-12-19 18:45:13.775587", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005247", "end": "2025-12-19 21:45:13.975606", "msg": "", "rc": 0, "start": "2025-12-19 21:45:13.970359", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008662", "end": "2025-12-19 21:45:16.694026", "msg": "", "rc": 0, "start": "2025-12-19 21:45:16.685364", "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.026005", "end": "2025-12-19 21:45:13.943752", "msg": "", "rc": 0, "start": "2025-12-19 21:45:13.917747", "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.004197", "end": "2025-12-19 21:45:14.461941", "msg": "", "rc": 0, "start": "2025-12-19 21:45:14.457744", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004142", "end": "2025-12-19 21:45:14.468138", "msg": "", "rc": 0, "start": "2025-12-19 21:45:14.463996", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004639", "end": "2025-12-19 21:45:14.485824", "msg": "", "rc": 0, "start": "2025-12-19 21:45:14.481185", "stderr": "", "stderr_lines": [], "stdout": "48.9%", "stdout_lines": ["48.9%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004672", "end": "2025-12-19 21:45:14.514721", "msg": "", "rc": 0, "start": "2025-12-19 21:45:14.510049", "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.005718", "end": "2025-12-19 21:45:14.526629", "msg": "", "rc": 0, "start": "2025-12-19 21:45:14.520911", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003656", "end": "2025-12-19 21:44:46.096954", "msg": "", "rc": 0, "start": "2025-12-19 21:44:46.093298", "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.004515", "end": "2025-12-19 21:44:38.857086", "msg": "", "rc": 0, "start": "2025-12-19 21:44:38.852571", "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.010897", "end": "2025-12-19 21:45:15.154946", "msg": "", "rc": 0, "start": "2025-12-19 21:45:15.144049", "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.011972", "end": "2025-12-19 21:45:15.200705", "msg": "", "rc": 0, "start": "2025-12-19 21:45:15.188733", "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.005721", "end": "2025-12-19 21:45:15.457317", "msg": "", "rc": 0, "start": "2025-12-19 21:45:15.451596", "stderr": "", "stderr_lines": [], "stdout": "17.5%", "stdout_lines": ["17.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.004577", "end": "2025-12-19 21:44:42.045758", "msg": "", "rc": 0, "start": "2025-12-19 21:44:42.041181", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003816", "end": "2025-12-19 21:44:49.394333", "msg": "", "rc": 0, "start": "2025-12-19 21:44:49.390517", "stderr": "", "stderr_lines": [], "stdout": "54.2%", "stdout_lines": ["54.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.005099", "end": "2025-12-19 18:45:15.677558", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:45:15.672459", "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.005293", "end": "2025-12-19 21:45:15.901688", "msg": "", "rc": 0, "start": "2025-12-19 21:45:15.896395", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.008463", "end": "2025-12-19 21:45:18.860286", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.851823", "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.026255", "end": "2025-12-19 21:45:15.855553", "msg": "", "rc": 0, "start": "2025-12-19 21:45:15.829298", "stderr": "", "stderr_lines": [], "stdout": "18.9%", "stdout_lines": ["18.9%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005224", "end": "2025-12-19 21:45:16.399399", "msg": "", "rc": 0, "start": "2025-12-19 21:45:16.394175", "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.004944", "end": "2025-12-19 21:45:16.417977", "msg": "", "rc": 0, "start": "2025-12-19 21:45:16.413033", "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.006125", "end": "2025-12-19 21:45:16.416317", "msg": "", "rc": 0, "start": "2025-12-19 21:45:16.410192", "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.003162", "end": "2025-12-19 21:45:16.442433", "msg": "", "rc": 0, "start": "2025-12-19 21:45:16.439271", "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.006330", "end": "2025-12-19 21:45:16.457087", "msg": "", "rc": 0, "start": "2025-12-19 21:45:16.450757", "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-19 21:44:48.041712", "msg": "", "rc": 0, "start": "2025-12-19 21:44:48.038604", "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.003067", "end": "2025-12-19 21:44:40.775782", "msg": "", "rc": 0, "start": "2025-12-19 21:44:40.772715", "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.011684", "end": "2025-12-19 21:45:17.090736", "msg": "", "rc": 0, "start": "2025-12-19 21:45:17.079052", "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.012938", "end": "2025-12-19 21:45:17.138424", "msg": "", "rc": 0, "start": "2025-12-19 21:45:17.125486", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003164", "end": "2025-12-19 21:45:17.397678", "msg": "", "rc": 0, "start": "2025-12-19 21:45:17.394514", "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-19 21:44:43.976395", "msg": "", "rc": 0, "start": "2025-12-19 21:44:43.973406", "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.002686", "end": "2025-12-19 21:44:51.300600", "msg": "", "rc": 0, "start": "2025-12-19 21:44:51.297914", "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.003867", "end": "2025-12-19 18:45:17.600643", "msg": "", "rc": 0, "start": "2025-12-19 18:45:17.596776", "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-19 21:45:17.832392", "msg": "", "rc": 0, "start": "2025-12-19 21:45:17.829443", "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.004189", "end": "2025-12-19 21:45:18.041615", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.037426", "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.029009", "end": "2025-12-19 21:45:17.802034", "msg": "", "rc": 0, "start": "2025-12-19 21:45:17.773025", "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.004146", "end": "2025-12-19 21:45:18.346769", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.342623", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004866", "end": "2025-12-19 21:45:18.366462", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.361596", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
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.003991", "end": "2025-12-19 21:45:18.366998", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.363007", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.004184", "end": "2025-12-19 21:45:18.398609", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.394425", "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.005574", "end": "2025-12-19 21:45:18.417036", "msg": "", "rc": 0, "start": "2025-12-19 21:45:18.411462", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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.004410", "end": "2025-12-19 21:44:49.968451", "msg": "", "rc": 0, "start": "2025-12-19 21:44:49.964041", "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.004963", "end": "2025-12-19 21:44:42.734517", "msg": "", "rc": 0, "start": "2025-12-19 21:44:42.729554", "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.010079", "end": "2025-12-19 21:45:19.149485", "msg": "", "rc": 0, "start": "2025-12-19 21:45:19.139406", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011198", "end": "2025-12-19 21:45:19.181952", "msg": "", "rc": 0, "start": "2025-12-19 21:45:19.170754", "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.005580", "end": "2025-12-19 21:45:19.331070", "msg": "", "rc": 0, "start": "2025-12-19 21:45:19.325490", "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.005218", "end": "2025-12-19 21:44:45.939510", "msg": "", "rc": 0, "start": "2025-12-19 21:44:45.934292", "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.006641", "end": "2025-12-19 18:45:19.656404", "msg": "", "rc": 0, "start": "2025-12-19 18:45:19.649763", "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.004538", "end": "2025-12-19 21:44:53.392650", "msg": "", "rc": 0, "start": "2025-12-19 21:44:53.388112", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005303", "end": "2025-12-19 21:45:19.768552", "msg": "", "rc": 0, "start": "2025-12-19 21:45:19.763249", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024450", "end": "2025-12-19 21:45:19.745139", "msg": "", "rc": 0, "start": "2025-12-19 21:45:19.720689", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
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.007813", "end": "2025-12-19 21:45:20.239399", "msg": "", "rc": 0, "start": "2025-12-19 21:45:20.231586", "stderr": "", "stderr_lines": [], "stdout": "1.19", "stdout_lines": ["1.19"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:10 up 12:29, 1 user, load average: 0.11, 0.17, 0.17\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.09\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:10 up 24 days, 8:36, 1 user, load average: 0.20, 0.17, 0.11\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.25\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:10 up 24 days, 8:56, 1 user, load average: 0.56, 0.74, 0.72\nDisk Usage: 14%\nMemory Usage: 48.9%\nCPU Load: 0.52\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:10 up 24 days, 10:09, 1 user, load average: 0.93, 0.76, 0.67\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.85\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:10 up 24 days, 10:55, 1 user, load average: 0.07, 0.08, 0.08\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:11 up 17 days, 11:11, 1 user, load average: 0.29, 0.16, 0.11\nDisk Usage: 21%\nMemory Usage: 18.9%\nCPU Load: 0.40\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:11 up 196 days, 13:18, 1 user, load average: 0.11, 0.18, 0.22\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.10\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:11 up 196 days, 13:18, 1 user, load average: 0.20, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.26\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:44:42 up 13 days, 9:34, 0 user, load average: 0.08, 0.07, 0.08\nDisk Usage: 50%\nMemory Usage: 70.7%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:44:35 up 20 days, 5:46, 0 user, load average: 0.03, 0.04, 0.00\nDisk Usage: 25%\nMemory Usage: 64.5%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:11 up 12:28, 1 user, load average: 0.05, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.5%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:44:38 up 23 days, 38 min, 0 user, load average: 0.30, 0.37, 0.42\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:44:45 up 19 days, 11:00, 0 user, load average: 0.20, 0.33, 0.35\nDisk Usage: 76%\nMemory Usage: 54.2%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:45PM up 24 days, 8:34, 1 user, load averages: 0.41, 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: 21:45:12 up 12:28, 1 user, load average: 0.00, 0.01, 0.03\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:45:14 up 8:22, 1 user, load average: 1.14, 1.10, 1.12\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.19\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-20T02:45:21.297269+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `4aac7ee32203441ebab8c12a30bee422` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:50:00.007554+00:00 |
| **Fin** | 2025-12-20T02:50:21.350257+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003789", "end": "2025-12-19 21:50:10.053880", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.050091", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 24 days, 11:00, 1 user, load average: 0.07, 0.07, 0.08", "stdout_lines": [" 21:50:10 up 24 days, 11:00, 1 user, load average: 0.07, 0.07, 0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002815", "end": "2025-12-19 21:50:10.088053", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.085238", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 12:34, 1 user, load average: 0.25, 0.15, 0.16", "stdout_lines": [" 21:50:10 up 12:34, 1 user, load average: 0.25, 0.15, 0.16"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003934", "end": "2025-12-19 21:50:10.081878", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.077944", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 24 days, 9:01, 1 user, load average: 0.62, 0.74, 0.72", "stdout_lines": [" 21:50:10 up 24 days, 9:01, 1 user, load average: 0.62, 0.74, 0.72"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004657", "end": "2025-12-19 21:50:10.089008", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.084351", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 24 days, 10:14, 1 user, load average: 0.81, 0.65, 0.64", "stdout_lines": [" 21:50:10 up 24 days, 10:14, 1 user, load average: 0.81, 0.65, 0.64"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003072", "end": "2025-12-19 21:49:41.675661", "msg": "", "rc": 0, "start": "2025-12-19 21:49:41.672589", "stderr": "", "stderr_lines": [], "stdout": " 21:49:41 up 13 days, 9:39, 0 user, load average: 0.15, 0.10, 0.09", "stdout_lines": [" 21:49:41 up 13 days, 9:39, 0 user, load average: 0.15, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009113", "end": "2025-12-19 21:50:10.788033", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.778920", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 196 days, 13:23, 1 user, load average: 0.06, 0.16, 0.20", "stdout_lines": [" 21:50:10 up 196 days, 13:23, 1 user, load average: 0.06, 0.16, 0.20"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008352", "end": "2025-12-19 21:50:10.831790", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.823438", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 196 days, 13:23, 1 user, load average: 0.26, 0.16, 0.10", "stdout_lines": [" 21:50:10 up 196 days, 13:23, 1 user, load average: 0.26, 0.16, 0.10"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004431", "end": "2025-12-19 21:50:11.041807", "msg": "", "rc": 0, "start": "2025-12-19 21:50:10.037376", "stderr": "", "stderr_lines": [], "stdout": " 21:50:10 up 24 days, 8:41, 1 user, load average: 0.18, 0.15, 0.11", "stdout_lines": [" 21:50:10 up 24 days, 8:41, 1 user, load average: 0.18, 0.15, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003241", "end": "2025-12-19 21:49:34.874397", "msg": "", "rc": 0, "start": "2025-12-19 21:49:34.871156", "stderr": "", "stderr_lines": [], "stdout": " 21:49:34 up 20 days, 5:51, 0 user, load average: 0.01, 0.04, 0.00", "stdout_lines": [" 21:49:34 up 20 days, 5:51, 0 user, load average: 0.01, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004507", "end": "2025-12-19 21:50:11.316727", "msg": "", "rc": 0, "start": "2025-12-19 21:50:11.312220", "stderr": "", "stderr_lines": [], "stdout": " 21:50:11 up 12:33, 1 user, load average: 0.18, 0.12, 0.04", "stdout_lines": [" 21:50:11 up 12:33, 1 user, load average: 0.18, 0.12, 0.04"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003298", "end": "2025-12-19 21:49:37.831128", "msg": "", "rc": 0, "start": "2025-12-19 21:49:37.827830", "stderr": "", "stderr_lines": [], "stdout": " 21:49:37 up 23 days, 43 min, 0 user, load average: 0.38, 0.40, 0.42", "stdout_lines": [" 21:49:37 up 23 days, 43 min, 0 user, load average: 0.38, 0.40, 0.42"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004096", "end": "2025-12-19 21:49:45.221802", "msg": "", "rc": 0, "start": "2025-12-19 21:49:45.217706", "stderr": "", "stderr_lines": [], "stdout": " 21:49:45 up 19 days, 11:05, 0 user, load average: 0.32, 0.41, 0.38", "stdout_lines": [" 21:49:45 up 19 days, 11:05, 0 user, load average: 0.32, 0.41, 0.38"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004262", "end": "2025-12-19 18:50:11.505176", "msg": "", "rc": 0, "start": "2025-12-19 18:50:11.500914", "stderr": "", "stderr_lines": [], "stdout": " 6:50PM up 24 days, 8:39, 1 user, load averages: 0.25, 0.27, 0.25", "stdout_lines": [" 6:50PM up 24 days, 8:39, 1 user, load averages: 0.25, 0.27, 0.25"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019909", "end": "2025-12-19 21:50:11.446946", "msg": "", "rc": 0, "start": "2025-12-19 21:50:11.427037", "stderr": "", "stderr_lines": [], "stdout": " 21:50:11 up 17 days, 11:16, 1 user, load average: 0.09, 0.12, 0.09", "stdout_lines": [" 21:50:11 up 17 days, 11:16, 1 user, load average: 0.09, 0.12, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003698", "end": "2025-12-19 21:50:11.768277", "msg": "", "rc": 0, "start": "2025-12-19 21:50:11.764579", "stderr": "", "stderr_lines": [], "stdout": " 21:50:11 up 12:33, 1 user, load average: 0.24, 0.30, 0.15", "stdout_lines": [" 21:50:11 up 12:33, 1 user, load average: 0.24, 0.30, 0.15"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006941", "end": "2025-12-19 21:50:11.988114", "msg": "", "rc": 0, "start": "2025-12-19 21:50:11.981173", "stderr": "", "stderr_lines": [], "stdout": " 21:50:11 up 8:27, 1 user, load average: 1.13, 1.08, 1.10", "stdout_lines": [" 21:50:11 up 8:27, 1 user, load average: 1.13, 1.08, 1.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004183", "end": "2025-12-19 21:50:12.173262", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.169079", "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.004118", "end": "2025-12-19 21:50:12.180524", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.176406", "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.005900", "end": "2025-12-19 21:50:12.210814", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.204914", "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.004753", "end": "2025-12-19 21:50:12.255056", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.250303", "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.005822", "end": "2025-12-19 21:50:12.269224", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.263402", "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.005274", "end": "2025-12-19 21:49:43.815207", "msg": "", "rc": 0, "start": "2025-12-19 21:49:43.809933", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005540", "end": "2025-12-19 21:49:36.583098", "msg": "", "rc": 0, "start": "2025-12-19 21:49:36.577558", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010754", "end": "2025-12-19 21:50:12.874130", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.863376", "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.011583", "end": "2025-12-19 21:50:12.954010", "msg": "", "rc": 0, "start": "2025-12-19 21:50:12.942427", "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.005727", "end": "2025-12-19 21:50:13.171199", "msg": "", "rc": 0, "start": "2025-12-19 21:50:13.165472", "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.005439", "end": "2025-12-19 21:49:39.744121", "msg": "", "rc": 0, "start": "2025-12-19 21:49:39.738682", "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.005462", "end": "2025-12-19 18:50:13.410406", "msg": "", "rc": 0, "start": "2025-12-19 18:50:13.404944", "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.005014", "end": "2025-12-19 21:49:47.146987", "msg": "", "rc": 0, "start": "2025-12-19 21:49:47.141973", "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.005497", "end": "2025-12-19 21:50:13.600763", "msg": "", "rc": 0, "start": "2025-12-19 21:50:13.595266", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008477", "end": "2025-12-19 21:50:14.069141", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.060664", "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.025917", "end": "2025-12-19 21:50:13.560294", "msg": "", "rc": 0, "start": "2025-12-19 21:50:13.534377", "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.004308", "end": "2025-12-19 21:50:14.078427", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.074119", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004209", "end": "2025-12-19 21:50:14.098619", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.094410", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005125", "end": "2025-12-19 21:50:14.122972", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.117847", "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.004797", "end": "2025-12-19 21:50:14.132358", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.127561", "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.005638", "end": "2025-12-19 21:50:14.151712", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.146074", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004186", "end": "2025-12-19 21:49:45.720099", "msg": "", "rc": 0, "start": "2025-12-19 21:49:45.715913", "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.004545", "end": "2025-12-19 21:49:38.466519", "msg": "", "rc": 0, "start": "2025-12-19 21:49:38.461974", "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.010930", "end": "2025-12-19 21:50:14.789071", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.778141", "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.011942", "end": "2025-12-19 21:50:14.795115", "msg": "", "rc": 0, "start": "2025-12-19 21:50:14.783173", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007813", "end": "2025-12-19 21:50:15.075546", "msg": "", "rc": 0, "start": "2025-12-19 21:50:15.067733", "stderr": "", "stderr_lines": [], "stdout": "17.6%", "stdout_lines": ["17.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.004087", "end": "2025-12-19 21:49:41.645666", "msg": "", "rc": 0, "start": "2025-12-19 21:49:41.641579", "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.005128", "end": "2025-12-19 18:50:15.265555", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:50:15.260427", "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.006853", "end": "2025-12-19 21:49:49.031664", "msg": "", "rc": 0, "start": "2025-12-19 21:49:49.024811", "stderr": "", "stderr_lines": [], "stdout": "53.1%", "stdout_lines": ["53.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.005549", "end": "2025-12-19 21:50:15.510536", "msg": "", "rc": 0, "start": "2025-12-19 21:50:15.504987", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009411", "end": "2025-12-19 21:50:16.164539", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.155128", "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.025981", "end": "2025-12-19 21:50:15.469080", "msg": "", "rc": 0, "start": "2025-12-19 21:50:15.443099", "stderr": "", "stderr_lines": [], "stdout": "18.5%", "stdout_lines": ["18.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.005457", "end": "2025-12-19 21:50:15.987256", "msg": "", "rc": 0, "start": "2025-12-19 21:50:15.981799", "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.004884", "end": "2025-12-19 21:50:16.011367", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.006483", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.003368", "end": "2025-12-19 21:50:16.036286", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.032918", "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.006710", "end": "2025-12-19 21:50:16.054980", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.048270", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.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.005195", "end": "2025-12-19 21:50:16.066196", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.061001", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002808", "end": "2025-12-19 21:49:47.624594", "msg": "", "rc": 0, "start": "2025-12-19 21:49:47.621786", "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-19 21:49:40.385676", "msg": "", "rc": 0, "start": "2025-12-19 21:49:40.382717", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013337", "end": "2025-12-19 21:50:16.729691", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.716354", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011568", "end": "2025-12-19 21:50:16.810811", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.799243", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003124", "end": "2025-12-19 21:50:16.976512", "msg": "", "rc": 0, "start": "2025-12-19 21:50:16.973388", "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.002922", "end": "2025-12-19 21:49:43.546586", "msg": "", "rc": 0, "start": "2025-12-19 21:49:43.543664", "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.004011", "end": "2025-12-19 18:50:17.256225", "msg": "", "rc": 0, "start": "2025-12-19 18:50:17.252214", "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.002736", "end": "2025-12-19 21:49:51.005246", "msg": "", "rc": 0, "start": "2025-12-19 21:49:51.002510", "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.002856", "end": "2025-12-19 21:50:17.396715", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.393859", "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.004372", "end": "2025-12-19 21:50:18.271677", "msg": "", "rc": 0, "start": "2025-12-19 21:50:18.267305", "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.028972", "end": "2025-12-19 21:50:17.387609", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.358637", "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.004246", "end": "2025-12-19 21:50:17.904120", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.899874", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003974", "end": "2025-12-19 21:50:17.926657", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.922683", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
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.004755", "end": "2025-12-19 21:50:17.932798", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.928043", "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.005376", "end": "2025-12-19 21:50:17.947789", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.942413", "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.005601", "end": "2025-12-19 21:50:17.966627", "msg": "", "rc": 0, "start": "2025-12-19 21:50:17.961026", "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.007978", "end": "2025-12-19 21:49:49.601077", "msg": "", "rc": 0, "start": "2025-12-19 21:49:49.593099", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005343", "end": "2025-12-19 21:49:42.290926", "msg": "", "rc": 0, "start": "2025-12-19 21:49:42.285583", "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.010093", "end": "2025-12-19 21:50:18.605224", "msg": "", "rc": 0, "start": "2025-12-19 21:50:18.595131", "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.011221", "end": "2025-12-19 21:50:18.716762", "msg": "", "rc": 0, "start": "2025-12-19 21:50:18.705541", "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.005536", "end": "2025-12-19 21:50:18.943334", "msg": "", "rc": 0, "start": "2025-12-19 21:50:18.937798", "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.005199", "end": "2025-12-19 21:49:45.478949", "msg": "", "rc": 0, "start": "2025-12-19 21:49:45.473750", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004093", "end": "2025-12-19 21:49:52.816405", "msg": "", "rc": 0, "start": "2025-12-19 21:49:52.812312", "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.005873", "end": "2025-12-19 18:50:19.166622", "msg": "", "rc": 0, "start": "2025-12-19 18:50:19.160749", "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.005302", "end": "2025-12-19 21:50:19.373469", "msg": "", "rc": 0, "start": "2025-12-19 21:50:19.368167", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.008546", "end": "2025-12-19 21:50:20.394309", "msg": "", "rc": 0, "start": "2025-12-19 21:50:20.385763", "stderr": "", "stderr_lines": [], "stdout": "1.28", "stdout_lines": ["1.28"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024799", "end": "2025-12-19 21:50:19.297453", "msg": "", "rc": 0, "start": "2025-12-19 21:50:19.272654", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 12:34, 1 user, load average: 0.25, 0.15, 0.16\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.28\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 24 days, 8:41, 1 user, load average: 0.18, 0.15, 0.11\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.15\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 24 days, 9:01, 1 user, load average: 0.62, 0.74, 0.72\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.61\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 24 days, 10:14, 1 user, load average: 0.81, 0.65, 0.64\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.83\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 24 days, 11:00, 1 user, load average: 0.07, 0.07, 0.08\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 196 days, 13:23, 1 user, load average: 0.06, 0.16, 0.20\nDisk Usage: 6%\nMemory Usage: 13.6%\nCPU Load: 0.14\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:11 up 17 days, 11:16, 1 user, load average: 0.09, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 18.5%\nCPU Load: 0.16\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:10 up 196 days, 13:23, 1 user, load average: 0.26, 0.16, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.24\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:49:41 up 13 days, 9:39, 0 user, load average: 0.15, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:49:34 up 20 days, 5:51, 0 user, load average: 0.01, 0.04, 0.00\nDisk Usage: 25%\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: 21:50:11 up 12:33, 1 user, load average: 0.18, 0.12, 0.04\nDisk Usage: 1%\nMemory Usage: 17.6%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:49:37 up 23 days, 43 min, 0 user, load average: 0.38, 0.40, 0.42\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:49:45 up 19 days, 11:05, 0 user, load average: 0.32, 0.41, 0.38\nDisk Usage: 76%\nMemory Usage: 53.1%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:50PM up 24 days, 8:39, 1 user, load averages: 0.25, 0.27, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:11 up 12:33, 1 user, load average: 0.24, 0.30, 0.15\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:50:11 up 8:27, 1 user, load average: 1.13, 1.08, 1.10\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T02:50:21.403862+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a14bdbebb3f047168ce4048a6ee65853` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T02:55:00.004272+00:00 |
| **Fin** | 2025-12-20T02:55:20.363047+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: [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: [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: [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.003285", "end": "2025-12-19 21:55:08.409679", "msg": "", "rc": 0, "start": "2025-12-19 21:55:08.406394", "stderr": "", "stderr_lines": [], "stdout": " 21:55:08 up 24 days, 9:06, 1 user, load average: 0.78, 0.86, 0.80", "stdout_lines": [" 21:55:08 up 24 days, 9:06, 1 user, load average: 0.78, 0.86, 0.80"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003807", "end": "2025-12-19 21:55:08.418213", "msg": "", "rc": 0, "start": "2025-12-19 21:55:08.414406", "stderr": "", "stderr_lines": [], "stdout": " 21:55:08 up 24 days, 11:05, 1 user, load average: 0.13, 0.07, 0.07", "stdout_lines": [" 21:55:08 up 24 days, 11:05, 1 user, load average: 0.13, 0.07, 0.07"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002850", "end": "2025-12-19 21:55:08.445867", "msg": "", "rc": 0, "start": "2025-12-19 21:55:08.443017", "stderr": "", "stderr_lines": [], "stdout": " 21:55:08 up 12:39, 1 user, load average: 0.37, 0.28, 0.21", "stdout_lines": [" 21:55:08 up 12:39, 1 user, load average: 0.37, 0.28, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003871", "end": "2025-12-19 21:55:08.441361", "msg": "", "rc": 0, "start": "2025-12-19 21:55:08.437490", "stderr": "", "stderr_lines": [], "stdout": " 21:55:08 up 24 days, 10:19, 1 user, load average: 0.90, 0.75, 0.68", "stdout_lines": [" 21:55:08 up 24 days, 10:19, 1 user, load average: 0.90, 0.75, 0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002980", "end": "2025-12-19 21:54:40.050931", "msg": "", "rc": 0, "start": "2025-12-19 21:54:40.047951", "stderr": "", "stderr_lines": [], "stdout": " 21:54:40 up 13 days, 9:44, 0 user, load average: 0.05, 0.07, 0.08", "stdout_lines": [" 21:54:40 up 13 days, 9:44, 0 user, load average: 0.05, 0.07, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008475", "end": "2025-12-19 21:55:09.130726", "msg": "", "rc": 0, "start": "2025-12-19 21:55:09.122251", "stderr": "", "stderr_lines": [], "stdout": " 21:55:09 up 196 days, 13:28, 1 user, load average: 0.44, 0.21, 0.12", "stdout_lines": [" 21:55:09 up 196 days, 13:28, 1 user, load average: 0.44, 0.21, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009224", "end": "2025-12-19 21:55:09.169093", "msg": "", "rc": 0, "start": "2025-12-19 21:55:09.159869", "stderr": "", "stderr_lines": [], "stdout": " 21:55:09 up 196 days, 13:27, 1 user, load average: 0.07, 0.14, 0.18", "stdout_lines": [" 21:55:09 up 196 days, 13:27, 1 user, load average: 0.07, 0.14, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004400", "end": "2025-12-19 21:55:09.405002", "msg": "", "rc": 0, "start": "2025-12-19 21:55:08.400602", "stderr": "", "stderr_lines": [], "stdout": " 21:55:08 up 24 days, 8:46, 1 user, load average: 0.35, 0.17, 0.11", "stdout_lines": [" 21:55:08 up 24 days, 8:46, 1 user, load average: 0.35, 0.17, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003886", "end": "2025-12-19 21:54:33.302154", "msg": "", "rc": 0, "start": "2025-12-19 21:54:33.298268", "stderr": "", "stderr_lines": [], "stdout": " 21:54:33 up 20 days, 5:56, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 21:54:33 up 20 days, 5:56, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004484", "end": "2025-12-19 21:55:09.662856", "msg": "", "rc": 0, "start": "2025-12-19 21:55:09.658372", "stderr": "", "stderr_lines": [], "stdout": " 21:55:09 up 12:38, 1 user, load average: 0.10, 0.09, 0.04", "stdout_lines": [" 21:55:09 up 12:38, 1 user, load average: 0.10, 0.09, 0.04"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003412", "end": "2025-12-19 21:54:36.257385", "msg": "", "rc": 0, "start": "2025-12-19 21:54:36.253973", "stderr": "", "stderr_lines": [], "stdout": " 21:54:36 up 23 days, 48 min, 0 user, load average: 0.62, 0.49, 0.46", "stdout_lines": [" 21:54:36 up 23 days, 48 min, 0 user, load average: 0.62, 0.49, 0.46"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002859", "end": "2025-12-19 21:54:43.605572", "msg": "", "rc": 0, "start": "2025-12-19 21:54:43.602713", "stderr": "", "stderr_lines": [], "stdout": " 21:54:43 up 19 days, 11:10, 0 user, load average: 0.28, 0.44, 0.41", "stdout_lines": [" 21:54:43 up 19 days, 11:10, 0 user, load average: 0.28, 0.44, 0.41"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019946", "end": "2025-12-19 21:55:09.830570", "msg": "", "rc": 0, "start": "2025-12-19 21:55:09.810624", "stderr": "", "stderr_lines": [], "stdout": " 21:55:09 up 17 days, 11:21, 1 user, load average: 0.14, 0.10, 0.09", "stdout_lines": [" 21:55:09 up 17 days, 11:21, 1 user, load average: 0.14, 0.10, 0.09"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004376", "end": "2025-12-19 18:55:09.968071", "msg": "", "rc": 0, "start": "2025-12-19 18:55:09.963695", "stderr": "", "stderr_lines": [], "stdout": " 6:55PM up 24 days, 8:44, 1 user, load averages: 0.44, 0.30, 0.26", "stdout_lines": [" 6:55PM up 24 days, 8:44, 1 user, load averages: 0.44, 0.30, 0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003779", "end": "2025-12-19 21:55:10.102539", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.098760", "stderr": "", "stderr_lines": [], "stdout": " 21:55:10 up 12:38, 1 user, load average: 0.00, 0.10, 0.09", "stdout_lines": [" 21:55:10 up 12:38, 1 user, load average: 0.00, 0.10, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006030", "end": "2025-12-19 21:55:10.947267", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.941237", "stderr": "", "stderr_lines": [], "stdout": " 21:55:10 up 8:32, 1 user, load average: 1.61, 1.30, 1.17", "stdout_lines": [" 21:55:10 up 8:32, 1 user, load average: 1.61, 1.30, 1.17"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004301", "end": "2025-12-19 21:55:10.591154", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.586853", "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.004520", "end": "2025-12-19 21:55:10.605919", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.601399", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004196", "end": "2025-12-19 21:55:10.611509", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.607313", "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.004821", "end": "2025-12-19 21:55:10.638791", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.633970", "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.005929", "end": "2025-12-19 21:55:10.667597", "msg": "", "rc": 0, "start": "2025-12-19 21:55:10.661668", "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.005862", "end": "2025-12-19 21:54:42.237271", "msg": "", "rc": 0, "start": "2025-12-19 21:54:42.231409", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008493", "end": "2025-12-19 21:54:35.031610", "msg": "", "rc": 0, "start": "2025-12-19 21:54:35.023117", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010571", "end": "2025-12-19 21:55:11.352092", "msg": "", "rc": 0, "start": "2025-12-19 21:55:11.341521", "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.011806", "end": "2025-12-19 21:55:11.389526", "msg": "", "rc": 0, "start": "2025-12-19 21:55:11.377720", "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.006305", "end": "2025-12-19 21:55:11.606288", "msg": "", "rc": 0, "start": "2025-12-19 21:55:11.599983", "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.006351", "end": "2025-12-19 21:54:38.221071", "msg": "", "rc": 0, "start": "2025-12-19 21:54:38.214720", "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.005511", "end": "2025-12-19 18:55:11.863639", "msg": "", "rc": 0, "start": "2025-12-19 18:55:11.858128", "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.007971", "end": "2025-12-19 21:54:45.594444", "msg": "", "rc": 0, "start": "2025-12-19 21:54:45.586473", "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.005386", "end": "2025-12-19 21:55:12.049910", "msg": "", "rc": 0, "start": "2025-12-19 21:55:12.044524", "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.025930", "end": "2025-12-19 21:55:11.997112", "msg": "", "rc": 0, "start": "2025-12-19 21:55:11.971182", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009398", "end": "2025-12-19 21:55:13.063668", "msg": "", "rc": 0, "start": "2025-12-19 21:55:13.054270", "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.004206", "end": "2025-12-19 21:55:12.513487", "msg": "", "rc": 0, "start": "2025-12-19 21:55:12.509281", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004448", "end": "2025-12-19 21:55:12.534788", "msg": "", "rc": 0, "start": "2025-12-19 21:55:12.530340", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004715", "end": "2025-12-19 21:55:12.554677", "msg": "", "rc": 0, "start": "2025-12-19 21:55:12.549962", "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.004962", "end": "2025-12-19 21:55:12.572196", "msg": "", "rc": 0, "start": "2025-12-19 21:55:12.567234", "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.005738", "end": "2025-12-19 21:55:12.604546", "msg": "", "rc": 0, "start": "2025-12-19 21:55:12.598808", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004167", "end": "2025-12-19 21:54:44.146194", "msg": "", "rc": 0, "start": "2025-12-19 21:54:44.142027", "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.004349", "end": "2025-12-19 21:54:36.926511", "msg": "", "rc": 0, "start": "2025-12-19 21:54:36.922162", "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.010817", "end": "2025-12-19 21:55:13.211322", "msg": "", "rc": 0, "start": "2025-12-19 21:55:13.200505", "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-19 21:55:13.260080", "msg": "", "rc": 0, "start": "2025-12-19 21:55:13.248318", "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.005727", "end": "2025-12-19 21:55:13.503384", "msg": "", "rc": 0, "start": "2025-12-19 21:55:13.497657", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.004176", "end": "2025-12-19 21:54:40.094269", "msg": "", "rc": 0, "start": "2025-12-19 21:54:40.090093", "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.005295", "end": "2025-12-19 18:55:13.719559", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 18:55:13.714264", "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.006259", "end": "2025-12-19 21:54:47.453568", "msg": "", "rc": 0, "start": "2025-12-19 21:54:47.447309", "stderr": "", "stderr_lines": [], "stdout": "50.9%", "stdout_lines": ["50.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.005356", "end": "2025-12-19 21:55:13.935156", "msg": "", "rc": 0, "start": "2025-12-19 21:55:13.929800", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.008505", "end": "2025-12-19 21:55:15.153317", "msg": "", "rc": 0, "start": "2025-12-19 21:55:15.144812", "stderr": "", "stderr_lines": [], "stdout": "12.3%", "stdout_lines": ["12.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.026339", "end": "2025-12-19 21:55:13.923978", "msg": "", "rc": 0, "start": "2025-12-19 21:55:13.897639", "stderr": "", "stderr_lines": [], "stdout": "18.5%", "stdout_lines": ["18.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.005255", "end": "2025-12-19 21:55:14.441032", "msg": "", "rc": 0, "start": "2025-12-19 21:55:14.435777", "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.004767", "end": "2025-12-19 21:55:14.460168", "msg": "", "rc": 0, "start": "2025-12-19 21:55:14.455401", "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.005372", "end": "2025-12-19 21:55:14.460170", "msg": "", "rc": 0, "start": "2025-12-19 21:55:14.454798", "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.002887", "end": "2025-12-19 21:55:14.485895", "msg": "", "rc": 0, "start": "2025-12-19 21:55:14.483008", "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-19 21:55:14.502406", "msg": "", "rc": 0, "start": "2025-12-19 21:55:14.495927", "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.002518", "end": "2025-12-19 21:54:46.078168", "msg": "", "rc": 0, "start": "2025-12-19 21:54:46.075650", "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.003174", "end": "2025-12-19 21:54:38.820533", "msg": "", "rc": 0, "start": "2025-12-19 21:54:38.817359", "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.011912", "end": "2025-12-19 21:55:15.153456", "msg": "", "rc": 0, "start": "2025-12-19 21:55:15.141544", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.014921", "end": "2025-12-19 21:55:15.214952", "msg": "", "rc": 0, "start": "2025-12-19 21:55:15.200031", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003065", "end": "2025-12-19 21:55:15.436565", "msg": "", "rc": 0, "start": "2025-12-19 21:55:15.433500", "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.002875", "end": "2025-12-19 21:54:41.997318", "msg": "", "rc": 0, "start": "2025-12-19 21:54:41.994443", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003924", "end": "2025-12-19 18:55:15.663951", "msg": "", "rc": 0, "start": "2025-12-19 18:55:15.660027", "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.002445", "end": "2025-12-19 21:54:49.388719", "msg": "", "rc": 0, "start": "2025-12-19 21:54:49.386274", "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.002908", "end": "2025-12-19 21:55:15.862183", "msg": "", "rc": 0, "start": "2025-12-19 21:55:15.859275", "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.004685", "end": "2025-12-19 21:55:17.246455", "msg": "", "rc": 0, "start": "2025-12-19 21:55:17.241770", "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.028907", "end": "2025-12-19 21:55:15.869346", "msg": "", "rc": 0, "start": "2025-12-19 21:55:15.840439", "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.004089", "end": "2025-12-19 21:55:16.378759", "msg": "", "rc": 0, "start": "2025-12-19 21:55:16.374670", "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.004568", "end": "2025-12-19 21:55:16.396896", "msg": "", "rc": 0, "start": "2025-12-19 21:55:16.392328", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
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.004114", "end": "2025-12-19 21:55:16.403534", "msg": "", "rc": 0, "start": "2025-12-19 21:55:16.399420", "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.005415", "end": "2025-12-19 21:55:16.425239", "msg": "", "rc": 0, "start": "2025-12-19 21:55:16.419824", "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.005613", "end": "2025-12-19 21:55:16.453491", "msg": "", "rc": 0, "start": "2025-12-19 21:55:16.447878", "stderr": "", "stderr_lines": [], "stdout": "0.99", "stdout_lines": ["0.99"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005600", "end": "2025-12-19 21:54:47.983085", "msg": "", "rc": 0, "start": "2025-12-19 21:54:47.977485", "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.005048", "end": "2025-12-19 21:54:40.768712", "msg": "", "rc": 0, "start": "2025-12-19 21:54:40.763664", "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.010238", "end": "2025-12-19 21:55:17.175382", "msg": "", "rc": 0, "start": "2025-12-19 21:55:17.165144", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
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.011396", "end": "2025-12-19 21:55:17.226933", "msg": "", "rc": 0, "start": "2025-12-19 21:55:17.215537", "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.005658", "end": "2025-12-19 21:55:17.406440", "msg": "", "rc": 0, "start": "2025-12-19 21:55:17.400782", "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.005108", "end": "2025-12-19 21:54:43.945739", "msg": "", "rc": 0, "start": "2025-12-19 21:54:43.940631", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004361", "end": "2025-12-19 21:54:51.399007", "msg": "", "rc": 0, "start": "2025-12-19 21:54:51.394646", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006040", "end": "2025-12-19 18:55:17.697761", "msg": "", "rc": 0, "start": "2025-12-19 18:55:17.691721", "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.005478", "end": "2025-12-19 21:55:17.845439", "msg": "", "rc": 0, "start": "2025-12-19 21:55:17.839961", "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.008989", "end": "2025-12-19 21:55:19.391051", "msg": "", "rc": 0, "start": "2025-12-19 21:55:19.382062", "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.025252", "end": "2025-12-19 21:55:17.778227", "msg": "", "rc": 0, "start": "2025-12-19 21:55:17.752975", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:08 up 12:39, 1 user, load average: 0.37, 0.28, 0.21\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.32\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:08 up 24 days, 8:46, 1 user, load average: 0.35, 0.17, 0.11\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.33\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:08 up 24 days, 9:06, 1 user, load average: 0.78, 0.86, 0.80\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.66\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:08 up 24 days, 10:19, 1 user, load average: 0.90, 0.75, 0.68\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.99\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:08 up 24 days, 11:05, 1 user, load average: 0.13, 0.07, 0.07\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:09 up 17 days, 11:21, 1 user, load average: 0.14, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 18.5%\nCPU Load: 0.20\nCPU Temp: 34.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:09 up 196 days, 13:27, 1 user, load average: 0.07, 0.14, 0.18\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.14\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:09 up 196 days, 13:28, 1 user, load average: 0.44, 0.21, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.37\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:54:40 up 13 days, 9:44, 0 user, load average: 0.05, 0.07, 0.08\nDisk Usage: 50%\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: 21:54:33 up 20 days, 5:56, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 25%\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: 21:55:09 up 12:38, 1 user, load average: 0.10, 0.09, 0.04\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:54:36 up 23 days, 48 min, 0 user, load average: 0.62, 0.49, 0.46\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:54:43 up 19 days, 11:10, 0 user, load average: 0.28, 0.44, 0.41\nDisk Usage: 76%\nMemory Usage: 50.9%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:55PM up 24 days, 8:44, 1 user, load averages: 0.44, 0.30, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:10 up 12:38, 1 user, load average: 0.00, 0.10, 0.09\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:55:10 up 8:32, 1 user, load average: 1.61, 1.30, 1.17\nDisk Usage: 1%\nMemory Usage: 12.3%\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-20T02:55:20.426972+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `efd388ae7f074958b4e888cd2b0fc325` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:00:00.006205+00:00 |
| **Fin** | 2025-12-20T03:00:22.830071+00:00 |
| **Durée** | 22.8s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [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.003233", "end": "2025-12-19 22:00:10.355846", "msg": "", "rc": 0, "start": "2025-12-19 22:00:10.352613", "stderr": "", "stderr_lines": [], "stdout": " 22:00:10 up 24 days, 8:51, 1 user, load average: 0.23, 0.12, 0.09", "stdout_lines": [" 22:00:10 up 24 days, 8:51, 1 user, load average: 0.23, 0.12, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003740", "end": "2025-12-19 22:00:10.371803", "msg": "", "rc": 0, "start": "2025-12-19 22:00:10.368063", "stderr": "", "stderr_lines": [], "stdout": " 22:00:10 up 24 days, 11:10, 1 user, load average: 0.09, 0.11, 0.09", "stdout_lines": [" 22:00:10 up 24 days, 11:10, 1 user, load average: 0.09, 0.11, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003151", "end": "2025-12-19 22:00:10.368948", "msg": "", "rc": 0, "start": "2025-12-19 22:00:10.365797", "stderr": "", "stderr_lines": [], "stdout": " 22:00:10 up 24 days, 9:11, 1 user, load average: 0.47, 0.79, 0.80", "stdout_lines": [" 22:00:10 up 24 days, 9:11, 1 user, load average: 0.47, 0.79, 0.80"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002855", "end": "2025-12-19 22:00:10.400347", "msg": "", "rc": 0, "start": "2025-12-19 22:00:10.397492", "stderr": "", "stderr_lines": [], "stdout": " 22:00:10 up 12:44, 1 user, load average: 0.20, 0.22, 0.19", "stdout_lines": [" 22:00:10 up 12:44, 1 user, load average: 0.20, 0.22, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005116", "end": "2025-12-19 22:00:10.423812", "msg": "", "rc": 0, "start": "2025-12-19 22:00:10.418696", "stderr": "", "stderr_lines": [], "stdout": " 22:00:10 up 24 days, 10:24, 1 user, load average: 0.49, 0.66, 0.66", "stdout_lines": [" 22:00:10 up 24 days, 10:24, 1 user, load average: 0.49, 0.66, 0.66"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002766", "end": "2025-12-19 21:59:41.951656", "msg": "", "rc": 0, "start": "2025-12-19 21:59:41.948890", "stderr": "", "stderr_lines": [], "stdout": " 21:59:41 up 13 days, 9:49, 0 user, load average: 0.33, 0.20, 0.12", "stdout_lines": [" 21:59:41 up 13 days, 9:49, 0 user, load average: 0.33, 0.20, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003464", "end": "2025-12-19 21:59:34.758124", "msg": "", "rc": 0, "start": "2025-12-19 21:59:34.754660", "stderr": "", "stderr_lines": [], "stdout": " 21:59:34 up 20 days, 6:01, 0 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 21:59:34 up 20 days, 6:01, 0 user, load average: 0.01, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008568", "end": "2025-12-19 22:00:11.047799", "msg": "", "rc": 0, "start": "2025-12-19 22:00:11.039231", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 196 days, 13:33, 1 user, load average: 0.19, 0.17, 0.12", "stdout_lines": [" 22:00:11 up 196 days, 13:33, 1 user, load average: 0.19, 0.17, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009544", "end": "2025-12-19 22:00:11.098810", "msg": "", "rc": 0, "start": "2025-12-19 22:00:11.089266", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 196 days, 13:33, 1 user, load average: 0.32, 0.25, 0.20", "stdout_lines": [" 22:00:11 up 196 days, 13:33, 1 user, load average: 0.32, 0.25, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004433", "end": "2025-12-19 22:00:11.309251", "msg": "", "rc": 0, "start": "2025-12-19 22:00:11.304818", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 12:43, 1 user, load average: 0.01, 0.05, 0.02", "stdout_lines": [" 22:00:11 up 12:43, 1 user, load average: 0.01, 0.05, 0.02"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003062", "end": "2025-12-19 21:59:45.270829", "msg": "", "rc": 0, "start": "2025-12-19 21:59:45.267767", "stderr": "", "stderr_lines": [], "stdout": " 21:59:45 up 19 days, 11:15, 0 user, load average: 0.24, 0.38, 0.39", "stdout_lines": [" 21:59:45 up 19 days, 11:15, 0 user, load average: 0.24, 0.38, 0.39"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004596", "end": "2025-12-19 19:00:11.562812", "msg": "", "rc": 0, "start": "2025-12-19 19:00:11.558216", "stderr": "", "stderr_lines": [], "stdout": " 7:00PM up 24 days, 8:49, 1 user, load averages: 0.21, 0.26, 0.25", "stdout_lines": [" 7:00PM up 24 days, 8:49, 1 user, load averages: 0.21, 0.26, 0.25"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003359", "end": "2025-12-19 21:59:37.961004", "msg": "", "rc": 0, "start": "2025-12-19 21:59:37.957645", "stderr": "", "stderr_lines": [], "stdout": " 21:59:37 up 23 days, 53 min, 0 user, load average: 0.43, 0.45, 0.45", "stdout_lines": [" 21:59:37 up 23 days, 53 min, 0 user, load average: 0.43, 0.45, 0.45"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003717", "end": "2025-12-19 22:00:11.733809", "msg": "", "rc": 0, "start": "2025-12-19 22:00:11.730092", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 12:43, 1 user, load average: 0.02, 0.07, 0.08", "stdout_lines": [" 22:00:11 up 12:43, 1 user, load average: 0.02, 0.07, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005949", "end": "2025-12-19 22:00:13.456516", "msg": "", "rc": 0, "start": "2025-12-19 22:00:13.450567", "stderr": "", "stderr_lines": [], "stdout": " 22:00:13 up 8:38, 1 user, load average: 1.16, 1.17, 1.15", "stdout_lines": [" 22:00:13 up 8:38, 1 user, load average: 1.16, 1.17, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019917", "end": "2025-12-19 22:00:11.752458", "msg": "", "rc": 0, "start": "2025-12-19 22:00:11.732541", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 17 days, 11:26, 1 user, load average: 0.16, 0.11, 0.09", "stdout_lines": [" 22:00:11 up 17 days, 11:26, 1 user, load average: 0.16, 0.11, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004134", "end": "2025-12-19 22:00:12.277291", "msg": "", "rc": 0, "start": "2025-12-19 22:00:12.273157", "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.004456", "end": "2025-12-19 22:00:12.296463", "msg": "", "rc": 0, "start": "2025-12-19 22:00:12.292007", "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.004069", "end": "2025-12-19 22:00:12.306546", "msg": "", "rc": 0, "start": "2025-12-19 22:00:12.302477", "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.004973", "end": "2025-12-19 22:00:12.321577", "msg": "", "rc": 0, "start": "2025-12-19 22:00:12.316604", "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.006523", "end": "2025-12-19 22:00:12.353991", "msg": "", "rc": 0, "start": "2025-12-19 22:00:12.347468", "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.005553", "end": "2025-12-19 21:59:43.879671", "msg": "", "rc": 0, "start": "2025-12-19 21:59:43.874118", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007907", "end": "2025-12-19 21:59:36.686337", "msg": "", "rc": 0, "start": "2025-12-19 21:59:36.678430", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010951", "end": "2025-12-19 22:00:13.023446", "msg": "", "rc": 0, "start": "2025-12-19 22:00:13.012495", "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.011530", "end": "2025-12-19 22:00:13.052005", "msg": "", "rc": 0, "start": "2025-12-19 22:00:13.040475", "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.005558", "end": "2025-12-19 22:00:13.234595", "msg": "", "rc": 0, "start": "2025-12-19 22:00:13.229037", "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.005686", "end": "2025-12-19 21:59:39.888150", "msg": "", "rc": 0, "start": "2025-12-19 21:59:39.882464", "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.005449", "end": "2025-12-19 19:00:13.513973", "msg": "", "rc": 0, "start": "2025-12-19 19:00:13.508524", "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.005319", "end": "2025-12-19 21:59:47.245475", "msg": "", "rc": 0, "start": "2025-12-19 21:59:47.240156", "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.005392", "end": "2025-12-19 22:00:13.667200", "msg": "", "rc": 0, "start": "2025-12-19 22:00:13.661808", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009340", "end": "2025-12-19 22:00:15.574049", "msg": "", "rc": 0, "start": "2025-12-19 22:00:15.564709", "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.025539", "end": "2025-12-19 22:00:13.669734", "msg": "", "rc": 0, "start": "2025-12-19 22:00:13.644195", "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.004274", "end": "2025-12-19 22:00:14.195120", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.190846", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004744", "end": "2025-12-19 22:00:14.207728", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.202984", "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.004144", "end": "2025-12-19 22:00:14.217437", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.213293", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.004814", "end": "2025-12-19 22:00:14.241263", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.236449", "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.007049", "end": "2025-12-19 22:00:14.277720", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.270671", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003427", "end": "2025-12-19 21:59:45.812609", "msg": "", "rc": 0, "start": "2025-12-19 21:59:45.809182", "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.004547", "end": "2025-12-19 21:59:38.577115", "msg": "", "rc": 0, "start": "2025-12-19 21:59:38.572568", "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.010921", "end": "2025-12-19 22:00:14.883032", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.872111", "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.011954", "end": "2025-12-19 22:00:14.915746", "msg": "", "rc": 0, "start": "2025-12-19 22:00:14.903792", "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.005657", "end": "2025-12-19 22:00:15.155147", "msg": "", "rc": 0, "start": "2025-12-19 22:00:15.149490", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.004100", "end": "2025-12-19 21:59:41.752284", "msg": "", "rc": 0, "start": "2025-12-19 21:59:41.748184", "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.005195", "end": "2025-12-19 19:00:15.382005", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:00:15.376810", "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.005406", "end": "2025-12-19 21:59:49.102263", "msg": "", "rc": 0, "start": "2025-12-19 21:59:49.096857", "stderr": "", "stderr_lines": [], "stdout": "51.9%", "stdout_lines": ["51.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.005310", "end": "2025-12-19 22:00:15.574965", "msg": "", "rc": 0, "start": "2025-12-19 22:00:15.569655", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.008182", "end": "2025-12-19 22:00:17.648141", "msg": "", "rc": 0, "start": "2025-12-19 22:00:17.639959", "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.026672", "end": "2025-12-19 22:00:15.589396", "msg": "", "rc": 0, "start": "2025-12-19 22:00:15.562724", "stderr": "", "stderr_lines": [], "stdout": "18.7%", "stdout_lines": ["18.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.005303", "end": "2025-12-19 22:00:16.117155", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.111852", "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.004773", "end": "2025-12-19 22:00:16.127828", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.123055", "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.005568", "end": "2025-12-19 22:00:16.138288", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.132720", "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.002939", "end": "2025-12-19 22:00:16.167996", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.165057", "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.006795", "end": "2025-12-19 22:00:16.181893", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.175098", "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.003474", "end": "2025-12-19 21:59:47.722690", "msg": "", "rc": 0, "start": "2025-12-19 21:59:47.719216", "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.003022", "end": "2025-12-19 21:59:40.481973", "msg": "", "rc": 0, "start": "2025-12-19 21:59:40.478951", "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.011784", "end": "2025-12-19 22:00:16.813805", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.802021", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013201", "end": "2025-12-19 22:00:16.847661", "msg": "", "rc": 0, "start": "2025-12-19 22:00:16.834460", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003163", "end": "2025-12-19 22:00:17.080842", "msg": "", "rc": 0, "start": "2025-12-19 22:00:17.077679", "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.002837", "end": "2025-12-19 21:59:43.658399", "msg": "", "rc": 0, "start": "2025-12-19 21:59:43.655562", "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.002748", "end": "2025-12-19 21:59:51.024721", "msg": "", "rc": 0, "start": "2025-12-19 21:59:51.021973", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003840", "end": "2025-12-19 19:00:17.305429", "msg": "", "rc": 0, "start": "2025-12-19 19:00:17.301589", "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.003075", "end": "2025-12-19 22:00:17.502041", "msg": "", "rc": 0, "start": "2025-12-19 22:00:17.498966", "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.005237", "end": "2025-12-19 22:00:19.730352", "msg": "", "rc": 0, "start": "2025-12-19 22:00:19.725115", "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.029386", "end": "2025-12-19 22:00:17.511547", "msg": "", "rc": 0, "start": "2025-12-19 22:00:17.482161", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.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.004162", "end": "2025-12-19 22:00:18.030128", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.025966", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004625", "end": "2025-12-19 22:00:18.057744", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.053119", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003997", "end": "2025-12-19 22:00:18.066592", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.062595", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.005591", "end": "2025-12-19 22:00:18.081757", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.076166", "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.005159", "end": "2025-12-19 22:00:18.094503", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.089344", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.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.005415", "end": "2025-12-19 21:59:49.663222", "msg": "", "rc": 0, "start": "2025-12-19 21:59:49.657807", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
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.005208", "end": "2025-12-19 21:59:42.425099", "msg": "", "rc": 0, "start": "2025-12-19 21:59:42.419891", "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.009804", "end": "2025-12-19 22:00:18.811873", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.802069", "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.011248", "end": "2025-12-19 22:00:18.860359", "msg": "", "rc": 0, "start": "2025-12-19 22:00:18.849111", "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.005838", "end": "2025-12-19 22:00:19.023297", "msg": "", "rc": 0, "start": "2025-12-19 22:00:19.017459", "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.005133", "end": "2025-12-19 21:59:45.606327", "msg": "", "rc": 0, "start": "2025-12-19 21:59:45.601194", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.004260", "end": "2025-12-19 21:59:53.018038", "msg": "", "rc": 0, "start": "2025-12-19 21:59:53.013778", "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.005875", "end": "2025-12-19 19:00:19.310437", "msg": "", "rc": 0, "start": "2025-12-19 19:00:19.304562", "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.005723", "end": "2025-12-19 22:00:19.460172", "msg": "", "rc": 0, "start": "2025-12-19 22:00:19.454449", "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.007911", "end": "2025-12-19 22:00:21.894738", "msg": "", "rc": 0, "start": "2025-12-19 22:00:21.886827", "stderr": "", "stderr_lines": [], "stdout": "1.22", "stdout_lines": ["1.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024611", "end": "2025-12-19 22:00:19.434086", "msg": "", "rc": 0, "start": "2025-12-19 22:00:19.409475", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:10 up 12:44, 1 user, load average: 0.20, 0.22, 0.19\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.24\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:10 up 24 days, 8:51, 1 user, load average: 0.23, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.19\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:10 up 24 days, 9:11, 1 user, load average: 0.47, 0.79, 0.80\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.48\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:10 up 24 days, 10:24, 1 user, load average: 0.49, 0.66, 0.66\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.61\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:10 up 24 days, 11:10, 1 user, load average: 0.09, 0.11, 0.09\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: 22:00:11 up 17 days, 11:26, 1 user, load average: 0.16, 0.11, 0.09\nDisk Usage: 21%\nMemory Usage: 18.7%\nCPU Load: 0.23\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 196 days, 13:33, 1 user, load average: 0.32, 0.25, 0.20\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.30\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 196 days, 13:33, 1 user, load average: 0.19, 0.17, 0.12\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.17\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:41 up 13 days, 9:49, 0 user, load average: 0.33, 0.20, 0.12\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:34 up 20 days, 6:01, 0 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 25%\nMemory Usage: 64.6%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 12:43, 1 user, load average: 0.01, 0.05, 0.02\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:37 up 23 days, 53 min, 0 user, load average: 0.43, 0.45, 0.45\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:45 up 19 days, 11:15, 0 user, load average: 0.24, 0.38, 0.39\nDisk Usage: 76%\nMemory Usage: 51.9%\nCPU Load: 0.46\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:00PM up 24 days, 8:49, 1 user, load averages: 0.21, 0.26, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 12:43, 1 user, load average: 0.02, 0.07, 0.08\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:13 up 8:38, 1 user, load average: 1.16, 1.17, 1.15\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.22\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-20T03:00:22.881385+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `5143ed1edf404ec0aa930937b65ecccd` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:05:00.002469+00:00 |
| **Fin** | 2025-12-20T03:05:21.884347+00:00 |
| **Durée** | 21.9s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [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: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003403", "end": "2025-12-19 22:05:11.099057", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.095654", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 24 days, 9:16, 1 user, load average: 0.68, 0.78, 0.80", "stdout_lines": [" 22:05:11 up 24 days, 9:16, 1 user, load average: 0.68, 0.78, 0.80"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003996", "end": "2025-12-19 22:05:11.102095", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.098099", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 24 days, 11:15, 1 user, load average: 0.07, 0.07, 0.08", "stdout_lines": [" 22:05:11 up 24 days, 11:15, 1 user, load average: 0.07, 0.07, 0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002883", "end": "2025-12-19 22:05:11.122708", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.119825", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 12:49, 1 user, load average: 0.20, 0.16, 0.16", "stdout_lines": [" 22:05:11 up 12:49, 1 user, load average: 0.20, 0.16, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003894", "end": "2025-12-19 22:05:11.120924", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.117030", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 24 days, 10:29, 1 user, load average: 0.86, 0.69, 0.66", "stdout_lines": [" 22:05:11 up 24 days, 10:29, 1 user, load average: 0.86, 0.69, 0.66"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002957", "end": "2025-12-19 22:04:42.726697", "msg": "", "rc": 0, "start": "2025-12-19 22:04:42.723740", "stderr": "", "stderr_lines": [], "stdout": " 22:04:42 up 13 days, 9:54, 0 user, load average: 0.70, 0.27, 0.15", "stdout_lines": [" 22:04:42 up 13 days, 9:54, 0 user, load average: 0.70, 0.27, 0.15"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008393", "end": "2025-12-19 22:05:11.804010", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.795617", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 196 days, 13:38, 1 user, load average: 0.08, 0.15, 0.12", "stdout_lines": [" 22:05:11 up 196 days, 13:38, 1 user, load average: 0.08, 0.15, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009382", "end": "2025-12-19 22:05:11.840430", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.831048", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 196 days, 13:38, 1 user, load average: 0.13, 0.18, 0.18", "stdout_lines": [" 22:05:11 up 196 days, 13:38, 1 user, load average: 0.13, 0.18, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004337", "end": "2025-12-19 22:05:12.085677", "msg": "", "rc": 0, "start": "2025-12-19 22:05:11.081340", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 24 days, 8:56, 1 user, load average: 0.10, 0.12, 0.09", "stdout_lines": [" 22:05:11 up 24 days, 8:56, 1 user, load average: 0.10, 0.12, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003547", "end": "2025-12-19 22:04:35.955551", "msg": "", "rc": 0, "start": "2025-12-19 22:04:35.952004", "stderr": "", "stderr_lines": [], "stdout": " 22:04:35 up 20 days, 6:06, 0 user, load average: 0.25, 0.10, 0.02", "stdout_lines": [" 22:04:35 up 20 days, 6:06, 0 user, load average: 0.25, 0.10, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004418", "end": "2025-12-19 22:05:12.338091", "msg": "", "rc": 0, "start": "2025-12-19 22:05:12.333673", "stderr": "", "stderr_lines": [], "stdout": " 22:05:12 up 12:48, 1 user, load average: 0.03, 0.04, 0.01", "stdout_lines": [" 22:05:12 up 12:48, 1 user, load average: 0.03, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004187", "end": "2025-12-19 22:04:38.909501", "msg": "", "rc": 0, "start": "2025-12-19 22:04:38.905314", "stderr": "", "stderr_lines": [], "stdout": " 22:04:38 up 23 days, 58 min, 0 user, load average: 0.72, 0.60, 0.51", "stdout_lines": [" 22:04:38 up 23 days, 58 min, 0 user, load average: 0.72, 0.60, 0.51"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003792", "end": "2025-12-19 22:04:46.264919", "msg": "", "rc": 0, "start": "2025-12-19 22:04:46.261127", "stderr": "", "stderr_lines": [], "stdout": " 22:04:46 up 19 days, 11:20, 0 user, load average: 0.81, 0.68, 0.51", "stdout_lines": [" 22:04:46 up 19 days, 11:20, 0 user, load average: 0.81, 0.68, 0.51"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004317", "end": "2025-12-19 19:05:12.629023", "msg": "", "rc": 0, "start": "2025-12-19 19:05:12.624706", "stderr": "", "stderr_lines": [], "stdout": " 7:05PM up 24 days, 8:54, 1 user, load averages: 0.22, 0.21, 0.22", "stdout_lines": [" 7:05PM up 24 days, 8:54, 1 user, load averages: 0.22, 0.21, 0.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019830", "end": "2025-12-19 22:05:12.514394", "msg": "", "rc": 0, "start": "2025-12-19 22:05:12.494564", "stderr": "", "stderr_lines": [], "stdout": " 22:05:12 up 17 days, 11:31, 1 user, load average: 0.13, 0.09, 0.09", "stdout_lines": [" 22:05:12 up 17 days, 11:31, 1 user, load average: 0.13, 0.09, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003661", "end": "2025-12-19 22:05:12.777904", "msg": "", "rc": 0, "start": "2025-12-19 22:05:12.774243", "stderr": "", "stderr_lines": [], "stdout": " 22:05:12 up 12:48, 1 user, load average: 0.01, 0.04, 0.06", "stdout_lines": [" 22:05:12 up 12:48, 1 user, load average: 0.01, 0.04, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006041", "end": "2025-12-19 22:05:15.210719", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.204678", "stderr": "", "stderr_lines": [], "stdout": " 22:05:15 up 8:44, 1 user, load average: 1.39, 1.27, 1.20", "stdout_lines": [" 22:05:15 up 8:44, 1 user, load average: 1.39, 1.27, 1.20"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004207", "end": "2025-12-19 22:05:13.246672", "msg": "", "rc": 0, "start": "2025-12-19 22:05:13.242465", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004100", "end": "2025-12-19 22:05:13.261536", "msg": "", "rc": 0, "start": "2025-12-19 22:05:13.257436", "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.005337", "end": "2025-12-19 22:05:13.305954", "msg": "", "rc": 0, "start": "2025-12-19 22:05:13.300617", "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.004729", "end": "2025-12-19 22:05:13.334289", "msg": "", "rc": 0, "start": "2025-12-19 22:05:13.329560", "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.006234", "end": "2025-12-19 22:05:13.331046", "msg": "", "rc": 0, "start": "2025-12-19 22:05:13.324812", "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.006087", "end": "2025-12-19 22:04:44.925323", "msg": "", "rc": 0, "start": "2025-12-19 22:04:44.919236", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010094", "end": "2025-12-19 22:04:37.703208", "msg": "", "rc": 0, "start": "2025-12-19 22:04:37.693114", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011512", "end": "2025-12-19 22:05:14.019988", "msg": "", "rc": 0, "start": "2025-12-19 22:05:14.008476", "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.010571", "end": "2025-12-19 22:05:14.075236", "msg": "", "rc": 0, "start": "2025-12-19 22:05:14.064665", "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-19 22:05:14.303758", "msg": "", "rc": 0, "start": "2025-12-19 22:05:14.298034", "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.005202", "end": "2025-12-19 22:04:40.916820", "msg": "", "rc": 0, "start": "2025-12-19 22:04:40.911618", "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.005459", "end": "2025-12-19 19:05:14.529832", "msg": "", "rc": 0, "start": "2025-12-19 19:05:14.524373", "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.004874", "end": "2025-12-19 22:04:48.257324", "msg": "", "rc": 0, "start": "2025-12-19 22:04:48.252450", "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.005857", "end": "2025-12-19 22:05:14.739657", "msg": "", "rc": 0, "start": "2025-12-19 22:05:14.733800", "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.026164", "end": "2025-12-19 22:05:14.658411", "msg": "", "rc": 0, "start": "2025-12-19 22:05:14.632247", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009644", "end": "2025-12-19 22:05:17.425825", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.416181", "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.004169", "end": "2025-12-19 22:05:15.265542", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.261373", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004207", "end": "2025-12-19 22:05:15.272282", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.268075", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005093", "end": "2025-12-19 22:05:15.288860", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.283767", "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.004827", "end": "2025-12-19 22:05:15.307627", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.302800", "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.005817", "end": "2025-12-19 22:05:15.344796", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.338979", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004135", "end": "2025-12-19 22:04:46.858783", "msg": "", "rc": 0, "start": "2025-12-19 22:04:46.854648", "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.004699", "end": "2025-12-19 22:04:39.672835", "msg": "", "rc": 0, "start": "2025-12-19 22:04:39.668136", "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.010739", "end": "2025-12-19 22:05:15.954912", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.944173", "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.011770", "end": "2025-12-19 22:05:16.005218", "msg": "", "rc": 0, "start": "2025-12-19 22:05:15.993448", "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.005782", "end": "2025-12-19 22:05:16.238099", "msg": "", "rc": 0, "start": "2025-12-19 22:05:16.232317", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.003596", "end": "2025-12-19 22:04:50.171431", "msg": "", "rc": 0, "start": "2025-12-19 22:04:50.167835", "stderr": "", "stderr_lines": [], "stdout": "53.1%", "stdout_lines": ["53.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004344", "end": "2025-12-19 22:04:42.864402", "msg": "", "rc": 0, "start": "2025-12-19 22:04:42.860058", "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.005225", "end": "2025-12-19 19:05:16.476307", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:05:16.471082", "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.005444", "end": "2025-12-19 22:05:16.684028", "msg": "", "rc": 0, "start": "2025-12-19 22:05:16.678584", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026132", "end": "2025-12-19 22:05:16.671082", "msg": "", "rc": 0, "start": "2025-12-19 22:05:16.644950", "stderr": "", "stderr_lines": [], "stdout": "18.5%", "stdout_lines": ["18.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008964", "end": "2025-12-19 22:05:19.568787", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.559823", "stderr": "", "stderr_lines": [], "stdout": "12.3%", "stdout_lines": ["12.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.004923", "end": "2025-12-19 22:05:17.219572", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.214649", "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.005526", "end": "2025-12-19 22:05:17.216367", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.210841", "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.005871", "end": "2025-12-19 22:05:17.223750", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.217879", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003241", "end": "2025-12-19 22:05:17.274978", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.271737", "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.006751", "end": "2025-12-19 22:05:17.276101", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.269350", "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.002603", "end": "2025-12-19 22:04:48.831767", "msg": "", "rc": 0, "start": "2025-12-19 22:04:48.829164", "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.002833", "end": "2025-12-19 22:04:41.584164", "msg": "", "rc": 0, "start": "2025-12-19 22:04:41.581331", "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.011830", "end": "2025-12-19 22:05:17.916340", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.904510", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012887", "end": "2025-12-19 22:05:17.944746", "msg": "", "rc": 0, "start": "2025-12-19 22:05:17.931859", "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.003199", "end": "2025-12-19 22:05:18.217493", "msg": "", "rc": 0, "start": "2025-12-19 22:05:18.214294", "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.003102", "end": "2025-12-19 22:04:44.759247", "msg": "", "rc": 0, "start": "2025-12-19 22:04:44.756145", "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.002386", "end": "2025-12-19 22:04:52.139492", "msg": "", "rc": 0, "start": "2025-12-19 22:04:52.137106", "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.003903", "end": "2025-12-19 19:05:18.444542", "msg": "", "rc": 0, "start": "2025-12-19 19:05:18.440639", "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-19 22:05:18.649699", "msg": "", "rc": 0, "start": "2025-12-19 22:05:18.646755", "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.004467", "end": "2025-12-19 22:05:18.748436", "msg": "", "rc": 0, "start": "2025-12-19 22:05:18.743969", "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.028939", "end": "2025-12-19 22:05:18.627926", "msg": "", "rc": 0, "start": "2025-12-19 22:05:18.598987", "stderr": "", "stderr_lines": [], "stdout": "34.0°C", "stdout_lines": ["34.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004184", "end": "2025-12-19 22:05:19.151138", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.146954", "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.004085", "end": "2025-12-19 22:05:19.172450", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.168365", "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.004860", "end": "2025-12-19 22:05:19.179624", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.174764", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
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.006015", "end": "2025-12-19 22:05:19.219936", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.213921", "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.005291", "end": "2025-12-19 22:05:19.239986", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.234695", "stderr": "", "stderr_lines": [], "stdout": "1.04", "stdout_lines": ["1.04"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004126", "end": "2025-12-19 22:04:50.768187", "msg": "", "rc": 0, "start": "2025-12-19 22:04:50.764061", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.004891", "end": "2025-12-19 22:04:43.544554", "msg": "", "rc": 0, "start": "2025-12-19 22:04:43.539663", "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.009944", "end": "2025-12-19 22:05:19.951820", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.941876", "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.011096", "end": "2025-12-19 22:05:19.948665", "msg": "", "rc": 0, "start": "2025-12-19 22:05:19.937569", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005689", "end": "2025-12-19 22:05:20.144414", "msg": "", "rc": 0, "start": "2025-12-19 22:05:20.138725", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004911", "end": "2025-12-19 22:04:46.725757", "msg": "", "rc": 0, "start": "2025-12-19 22:04:46.720846", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005844", "end": "2025-12-19 19:05:20.434704", "msg": "", "rc": 0, "start": "2025-12-19 19:05:20.428860", "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.004217", "end": "2025-12-19 22:04:54.175910", "msg": "", "rc": 0, "start": "2025-12-19 22:04:54.171693", "stderr": "", "stderr_lines": [], "stdout": "0.75", "stdout_lines": ["0.75"]}
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.005495", "end": "2025-12-19 22:05:20.577546", "msg": "", "rc": 0, "start": "2025-12-19 22:05:20.572051", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025367", "end": "2025-12-19 22:05:20.558986", "msg": "", "rc": 0, "start": "2025-12-19 22:05:20.533619", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007445", "end": "2025-12-19 22:05:20.888799", "msg": "", "rc": 0, "start": "2025-12-19 22:05:20.881354", "stderr": "", "stderr_lines": [], "stdout": "1.56", "stdout_lines": ["1.56"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 12:49, 1 user, load average: 0.20, 0.16, 0.16\nDisk Usage: 22%\nMemory Usage: 14.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: 22:05:11 up 24 days, 8:56, 1 user, load average: 0.10, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 24 days, 9:16, 1 user, load average: 0.68, 0.78, 0.80\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.63\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 24 days, 10:29, 1 user, load average: 0.86, 0.69, 0.66\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 1.04\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 24 days, 11:15, 1 user, load average: 0.07, 0.07, 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: 22:05:12 up 17 days, 11:31, 1 user, load average: 0.13, 0.09, 0.09\nDisk Usage: 21%\nMemory Usage: 18.5%\nCPU Load: 0.12\nCPU Temp: 34.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 196 days, 13:38, 1 user, load average: 0.13, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.12\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 196 days, 13:38, 1 user, load average: 0.08, 0.15, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.15\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:42 up 13 days, 9:54, 0 user, load average: 0.70, 0.27, 0.15\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.65\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:35 up 20 days, 6:06, 0 user, load average: 0.25, 0.10, 0.02\nDisk Usage: 25%\nMemory Usage: 64.4%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:12 up 12:48, 1 user, load average: 0.03, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:38 up 23 days, 58 min, 0 user, load average: 0.72, 0.60, 0.51\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.66\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:46 up 19 days, 11:20, 0 user, load average: 0.81, 0.68, 0.51\nDisk Usage: 76%\nMemory Usage: 53.1%\nCPU Load: 0.75\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:05PM up 24 days, 8:54, 1 user, load averages: 0.22, 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: 22:05:12 up 12:48, 1 user, load average: 0.01, 0.04, 0.06\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:15 up 8:44, 1 user, load average: 1.39, 1.27, 1.20\nDisk Usage: 1%\nMemory Usage: 12.3%\nCPU Load: 1.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T03:05:21.954981+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ed4d29c38f2146f19c5743075cd48dc7` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:10:00.001857+00:00 |
| **Fin** | 2025-12-20T03:10:22.132671+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: [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.003549", "end": "2025-12-19 22:10:10.088206", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.084657", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 24 days, 11:20, 1 user, load average: 0.06, 0.06, 0.08", "stdout_lines": [" 22:10:10 up 24 days, 11:20, 1 user, load average: 0.06, 0.06, 0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002841", "end": "2025-12-19 22:10:10.113233", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.110392", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 12:54, 1 user, load average: 0.16, 0.18, 0.18", "stdout_lines": [" 22:10:10 up 12:54, 1 user, load average: 0.16, 0.18, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004062", "end": "2025-12-19 22:10:10.105647", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.101585", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 24 days, 10:34, 1 user, load average: 0.98, 0.78, 0.70", "stdout_lines": [" 22:10:10 up 24 days, 10:34, 1 user, load average: 0.98, 0.78, 0.70"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008363", "end": "2025-12-19 22:10:10.774936", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.766573", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 196 days, 13:43, 1 user, load average: 0.07, 0.13, 0.11", "stdout_lines": [" 22:10:10 up 196 days, 13:43, 1 user, load average: 0.07, 0.13, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009923", "end": "2025-12-19 22:10:10.803677", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.793754", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 196 days, 13:43, 1 user, load average: 0.33, 0.21, 0.19", "stdout_lines": [" 22:10:10 up 196 days, 13:43, 1 user, load average: 0.33, 0.21, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003647", "end": "2025-12-19 22:10:11.083173", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.079526", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 24 days, 9:01, 1 user, load average: 0.17, 0.12, 0.09", "stdout_lines": [" 22:10:10 up 24 days, 9:01, 1 user, load average: 0.17, 0.12, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003936", "end": "2025-12-19 22:10:11.099002", "msg": "", "rc": 0, "start": "2025-12-19 22:10:10.095066", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 24 days, 9:21, 1 user, load average: 0.61, 0.68, 0.75", "stdout_lines": [" 22:10:10 up 24 days, 9:21, 1 user, load average: 0.61, 0.68, 0.75"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003637", "end": "2025-12-19 22:09:42.432472", "msg": "", "rc": 0, "start": "2025-12-19 22:09:42.428835", "stderr": "", "stderr_lines": [], "stdout": " 22:09:42 up 13 days, 9:59, 0 user, load average: 0.22, 0.23, 0.16", "stdout_lines": [" 22:09:42 up 13 days, 9:59, 0 user, load average: 0.22, 0.23, 0.16"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003709", "end": "2025-12-19 22:09:35.161106", "msg": "", "rc": 0, "start": "2025-12-19 22:09:35.157397", "stderr": "", "stderr_lines": [], "stdout": " 22:09:35 up 20 days, 6:11, 0 user, load average: 0.04, 0.07, 0.02", "stdout_lines": [" 22:09:35 up 20 days, 6:11, 0 user, load average: 0.04, 0.07, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004523", "end": "2025-12-19 22:10:11.550814", "msg": "", "rc": 0, "start": "2025-12-19 22:10:11.546291", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 12:53, 1 user, load average: 0.02, 0.04, 0.01", "stdout_lines": [" 22:10:11 up 12:53, 1 user, load average: 0.02, 0.04, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019871", "end": "2025-12-19 22:10:11.475815", "msg": "", "rc": 0, "start": "2025-12-19 22:10:11.455944", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 17 days, 11:36, 1 user, load average: 0.26, 0.13, 0.10", "stdout_lines": [" 22:10:11 up 17 days, 11:36, 1 user, load average: 0.26, 0.13, 0.10"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004500", "end": "2025-12-19 22:09:38.048218", "msg": "", "rc": 0, "start": "2025-12-19 22:09:38.043718", "stderr": "", "stderr_lines": [], "stdout": " 22:09:38 up 23 days, 1:03, 0 user, load average: 0.39, 0.48, 0.48", "stdout_lines": [" 22:09:38 up 23 days, 1:03, 0 user, load average: 0.39, 0.48, 0.48"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002826", "end": "2025-12-19 22:09:45.517909", "msg": "", "rc": 0, "start": "2025-12-19 22:09:45.515083", "stderr": "", "stderr_lines": [], "stdout": " 22:09:45 up 19 days, 11:25, 0 user, load average: 0.49, 0.50, 0.47", "stdout_lines": [" 22:09:45 up 19 days, 11:25, 0 user, load average: 0.49, 0.50, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004144", "end": "2025-12-19 19:10:11.840939", "msg": "", "rc": 0, "start": "2025-12-19 19:10:11.836795", "stderr": "", "stderr_lines": [], "stdout": " 7:10PM up 24 days, 8:59, 1 user, load averages: 0.14, 0.16, 0.19", "stdout_lines": [" 7:10PM up 24 days, 8:59, 1 user, load averages: 0.14, 0.16, 0.19"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006028", "end": "2025-12-19 22:10:11.964516", "msg": "", "rc": 0, "start": "2025-12-19 22:10:11.958488", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 8:49, 1 user, load average: 1.55, 1.31, 1.23", "stdout_lines": [" 22:10:11 up 8:49, 1 user, load average: 1.55, 1.31, 1.23"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003656", "end": "2025-12-19 22:10:11.986886", "msg": "", "rc": 0, "start": "2025-12-19 22:10:11.983230", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 12:53, 1 user, load average: 0.12, 0.04, 0.05", "stdout_lines": [" 22:10:11 up 12:53, 1 user, load average: 0.12, 0.04, 0.05"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004237", "end": "2025-12-19 22:10:12.386812", "msg": "", "rc": 0, "start": "2025-12-19 22:10:12.382575", "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.004250", "end": "2025-12-19 22:10:12.399386", "msg": "", "rc": 0, "start": "2025-12-19 22:10:12.395136", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004766", "end": "2025-12-19 22:10:12.397789", "msg": "", "rc": 0, "start": "2025-12-19 22:10:12.393023", "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.004473", "end": "2025-12-19 22:10:12.439591", "msg": "", "rc": 0, "start": "2025-12-19 22:10:12.435118", "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.005639", "end": "2025-12-19 22:10:12.446920", "msg": "", "rc": 0, "start": "2025-12-19 22:10:12.441281", "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.005051", "end": "2025-12-19 22:09:43.987797", "msg": "", "rc": 0, "start": "2025-12-19 22:09:43.982746", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005714", "end": "2025-12-19 22:09:36.751755", "msg": "", "rc": 0, "start": "2025-12-19 22:09:36.746041", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010617", "end": "2025-12-19 22:10:13.203857", "msg": "", "rc": 0, "start": "2025-12-19 22:10:13.193240", "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.011491", "end": "2025-12-19 22:10:13.206952", "msg": "", "rc": 0, "start": "2025-12-19 22:10:13.195461", "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.005710", "end": "2025-12-19 22:10:13.376554", "msg": "", "rc": 0, "start": "2025-12-19 22:10:13.370844", "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.005130", "end": "2025-12-19 22:09:39.929178", "msg": "", "rc": 0, "start": "2025-12-19 22:09:39.924048", "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.005514", "end": "2025-12-19 19:10:13.681823", "msg": "", "rc": 0, "start": "2025-12-19 19:10:13.676309", "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-19 22:09:47.407864", "msg": "", "rc": 0, "start": "2025-12-19 22:09:47.403082", "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.005325", "end": "2025-12-19 22:10:13.813618", "msg": "", "rc": 0, "start": "2025-12-19 22:10:13.808293", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008579", "end": "2025-12-19 22:10:14.112573", "msg": "", "rc": 0, "start": "2025-12-19 22:10:14.103994", "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.025854", "end": "2025-12-19 22:10:13.878964", "msg": "", "rc": 0, "start": "2025-12-19 22:10:13.853110", "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.004308", "end": "2025-12-19 22:10:14.480206", "msg": "", "rc": 0, "start": "2025-12-19 22:10:14.475898", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004632", "end": "2025-12-19 22:10:14.503189", "msg": "", "rc": 0, "start": "2025-12-19 22:10:14.498557", "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.004112", "end": "2025-12-19 22:10:14.511487", "msg": "", "rc": 0, "start": "2025-12-19 22:10:14.507375", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004968", "end": "2025-12-19 22:10:14.545830", "msg": "", "rc": 0, "start": "2025-12-19 22:10:14.540862", "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.006978", "end": "2025-12-19 22:10:14.580063", "msg": "", "rc": 0, "start": "2025-12-19 22:10:14.573085", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004772", "end": "2025-12-19 22:09:46.171797", "msg": "", "rc": 0, "start": "2025-12-19 22:09:46.167025", "stderr": "", "stderr_lines": [], "stdout": "70.9%", "stdout_lines": ["70.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.010832", "end": "2025-12-19 22:10:15.219839", "msg": "", "rc": 0, "start": "2025-12-19 22:10:15.209007", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008576", "end": "2025-12-19 22:09:39.012166", "msg": "", "rc": 0, "start": "2025-12-19 22:09:39.003590", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.012047", "end": "2025-12-19 22:10:15.277018", "msg": "", "rc": 0, "start": "2025-12-19 22:10:15.264971", "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.005836", "end": "2025-12-19 22:10:15.561778", "msg": "", "rc": 0, "start": "2025-12-19 22:10:15.555942", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.004070", "end": "2025-12-19 22:09:49.476168", "msg": "", "rc": 0, "start": "2025-12-19 22:09:49.472098", "stderr": "", "stderr_lines": [], "stdout": "50.7%", "stdout_lines": ["50.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.005620", "end": "2025-12-19 19:10:15.770430", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:10:15.764810", "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.004176", "end": "2025-12-19 22:09:42.231051", "msg": "", "rc": 0, "start": "2025-12-19 22:09:42.226875", "stderr": "", "stderr_lines": [], "stdout": "26.9%", "stdout_lines": ["26.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005316", "end": "2025-12-19 22:10:16.001215", "msg": "", "rc": 0, "start": "2025-12-19 22:10:15.995899", "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.026084", "end": "2025-12-19 22:10:15.929442", "msg": "", "rc": 0, "start": "2025-12-19 22:10:15.903358", "stderr": "", "stderr_lines": [], "stdout": "18.9%", "stdout_lines": ["18.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.011199", "end": "2025-12-19 22:10:16.608157", "msg": "", "rc": 0, "start": "2025-12-19 22:10:16.596958", "stderr": "", "stderr_lines": [], "stdout": "12.3%", "stdout_lines": ["12.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.005223", "end": "2025-12-19 22:10:16.624420", "msg": "", "rc": 0, "start": "2025-12-19 22:10:16.619197", "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.004822", "end": "2025-12-19 22:10:16.641902", "msg": "", "rc": 0, "start": "2025-12-19 22:10:16.637080", "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.005459", "end": "2025-12-19 22:10:16.632589", "msg": "", "rc": 0, "start": "2025-12-19 22:10:16.627130", "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.003355", "end": "2025-12-19 22:10:16.672958", "msg": "", "rc": 0, "start": "2025-12-19 22:10:16.669603", "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.007201", "end": "2025-12-19 22:10:16.703114", "msg": "", "rc": 0, "start": "2025-12-19 22:10:16.695913", "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.002668", "end": "2025-12-19 22:09:48.293342", "msg": "", "rc": 0, "start": "2025-12-19 22:09:48.290674", "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.003454", "end": "2025-12-19 22:09:41.128546", "msg": "", "rc": 0, "start": "2025-12-19 22:09:41.125092", "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.011778", "end": "2025-12-19 22:10:17.456242", "msg": "", "rc": 0, "start": "2025-12-19 22:10:17.444464", "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.013070", "end": "2025-12-19 22:10:17.482894", "msg": "", "rc": 0, "start": "2025-12-19 22:10:17.469824", "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.003437", "end": "2025-12-19 22:10:17.669530", "msg": "", "rc": 0, "start": "2025-12-19 22:10:17.666093", "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.002963", "end": "2025-12-19 22:09:44.329941", "msg": "", "rc": 0, "start": "2025-12-19 22:09:44.326978", "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-19 19:10:17.957287", "msg": "", "rc": 0, "start": "2025-12-19 19:10:17.953482", "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.002774", "end": "2025-12-19 22:09:51.682873", "msg": "", "rc": 0, "start": "2025-12-19 22:09:51.680099", "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.002943", "end": "2025-12-19 22:10:18.107640", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.104697", "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.029255", "end": "2025-12-19 22:10:18.108633", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.079378", "stderr": "", "stderr_lines": [], "stdout": "34.0°C", "stdout_lines": ["34.0°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.004407", "end": "2025-12-19 22:10:18.940122", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.935715", "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.004224", "end": "2025-12-19 22:10:18.699915", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.695691", "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.004338", "end": "2025-12-19 22:10:18.729660", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.725322", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004712", "end": "2025-12-19 22:10:18.728905", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.724193", "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.004970", "end": "2025-12-19 22:10:18.772377", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.767407", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005941", "end": "2025-12-19 22:10:18.781807", "msg": "", "rc": 0, "start": "2025-12-19 22:10:18.775866", "stderr": "", "stderr_lines": [], "stdout": "1.06", "stdout_lines": ["1.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.004444", "end": "2025-12-19 22:09:50.342268", "msg": "", "rc": 0, "start": "2025-12-19 22:09:50.337824", "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.005410", "end": "2025-12-19 22:09:43.118537", "msg": "", "rc": 0, "start": "2025-12-19 22:09:43.113127", "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.010212", "end": "2025-12-19 22:10:19.516240", "msg": "", "rc": 0, "start": "2025-12-19 22:10:19.506028", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011115", "end": "2025-12-19 22:10:19.534487", "msg": "", "rc": 0, "start": "2025-12-19 22:10:19.523372", "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-19 22:10:19.727201", "msg": "", "rc": 0, "start": "2025-12-19 22:10:19.721620", "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.004792", "end": "2025-12-19 22:09:46.311209", "msg": "", "rc": 0, "start": "2025-12-19 22:09:46.306417", "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.005768", "end": "2025-12-19 19:10:20.003882", "msg": "", "rc": 0, "start": "2025-12-19 19:10:19.998114", "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.004306", "end": "2025-12-19 22:09:53.744864", "msg": "", "rc": 0, "start": "2025-12-19 22:09:53.740558", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005308", "end": "2025-12-19 22:10:20.159642", "msg": "", "rc": 0, "start": "2025-12-19 22:10:20.154334", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008267", "end": "2025-12-19 22:10:21.095297", "msg": "", "rc": 0, "start": "2025-12-19 22:10:21.087030", "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.025203", "end": "2025-12-19 22:10:20.117025", "msg": "", "rc": 0, "start": "2025-12-19 22:10:20.091822", "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: 22:10:10 up 12:54, 1 user, load average: 0.16, 0.18, 0.18\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.21\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 24 days, 9:01, 1 user, load average: 0.17, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 24 days, 9:21, 1 user, load average: 0.61, 0.68, 0.75\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.67\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 24 days, 10:34, 1 user, load average: 0.98, 0.78, 0.70\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 1.06\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 24 days, 11:20, 1 user, load average: 0.06, 0.06, 0.08\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 17 days, 11:36, 1 user, load average: 0.26, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 18.9%\nCPU Load: 0.32\nCPU Temp: 34.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 196 days, 13:43, 1 user, load average: 0.33, 0.21, 0.19\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.31\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 196 days, 13:43, 1 user, load average: 0.07, 0.13, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.06\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:42 up 13 days, 9:59, 0 user, load average: 0.22, 0.23, 0.16\nDisk Usage: 50%\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: 22:09:35 up 20 days, 6:11, 0 user, load average: 0.04, 0.07, 0.02\nDisk Usage: 25%\nMemory Usage: 64.6%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 12:53, 1 user, load average: 0.02, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:38 up 23 days, 1:03, 0 user, load average: 0.39, 0.48, 0.48\nDisk Usage: 28%\nMemory Usage: 26.9%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:45 up 19 days, 11:25, 0 user, load average: 0.49, 0.50, 0.47\nDisk Usage: 76%\nMemory Usage: 50.7%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:10PM up 24 days, 8:59, 1 user, load averages: 0.14, 0.16, 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: 22:10:11 up 12:53, 1 user, load average: 0.12, 0.04, 0.05\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 8:49, 1 user, load average: 1.55, 1.31, 1.23\nDisk Usage: 1%\nMemory Usage: 12.3%\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-20T03:10:22.189577+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9bf74c0f01e74d0fa48eb10d49c5ace3` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:15:00.008493+00:00 |
| **Fin** | 2025-12-20T03:15:21.343945+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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.003511", "end": "2025-12-19 22:15:09.837252", "msg": "", "rc": 0, "start": "2025-12-19 22:15:09.833741", "stderr": "", "stderr_lines": [], "stdout": " 22:15:09 up 24 days, 9:06, 1 user, load average: 0.11, 0.11, 0.09", "stdout_lines": [" 22:15:09 up 24 days, 9:06, 1 user, load average: 0.11, 0.11, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003474", "end": "2025-12-19 22:15:09.840338", "msg": "", "rc": 0, "start": "2025-12-19 22:15:09.836864", "stderr": "", "stderr_lines": [], "stdout": " 22:15:09 up 24 days, 9:26, 1 user, load average: 0.51, 0.68, 0.73", "stdout_lines": [" 22:15:09 up 24 days, 9:26, 1 user, load average: 0.51, 0.68, 0.73"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003872", "end": "2025-12-19 22:15:09.846553", "msg": "", "rc": 0, "start": "2025-12-19 22:15:09.842681", "stderr": "", "stderr_lines": [], "stdout": " 22:15:09 up 24 days, 11:25, 1 user, load average: 0.01, 0.06, 0.08", "stdout_lines": [" 22:15:09 up 24 days, 11:25, 1 user, load average: 0.01, 0.06, 0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002878", "end": "2025-12-19 22:15:09.873964", "msg": "", "rc": 0, "start": "2025-12-19 22:15:09.871086", "stderr": "", "stderr_lines": [], "stdout": " 22:15:09 up 12:59, 1 user, load average: 0.12, 0.10, 0.13", "stdout_lines": [" 22:15:09 up 12:59, 1 user, load average: 0.12, 0.10, 0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004046", "end": "2025-12-19 22:15:09.873037", "msg": "", "rc": 0, "start": "2025-12-19 22:15:09.868991", "stderr": "", "stderr_lines": [], "stdout": " 22:15:09 up 24 days, 10:39, 1 user, load average: 0.92, 0.90, 0.77", "stdout_lines": [" 22:15:09 up 24 days, 10:39, 1 user, load average: 0.92, 0.90, 0.77"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002980", "end": "2025-12-19 22:14:41.417361", "msg": "", "rc": 0, "start": "2025-12-19 22:14:41.414381", "stderr": "", "stderr_lines": [], "stdout": " 22:14:41 up 13 days, 10:04, 0 user, load average: 0.17, 0.25, 0.19", "stdout_lines": [" 22:14:41 up 13 days, 10:04, 0 user, load average: 0.17, 0.25, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003214", "end": "2025-12-19 22:14:34.168571", "msg": "", "rc": 0, "start": "2025-12-19 22:14:34.165357", "stderr": "", "stderr_lines": [], "stdout": " 22:14:34 up 20 days, 6:16, 0 user, load average: 0.11, 0.06, 0.01", "stdout_lines": [" 22:14:34 up 20 days, 6:16, 0 user, load average: 0.11, 0.06, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008657", "end": "2025-12-19 22:15:10.519253", "msg": "", "rc": 0, "start": "2025-12-19 22:15:10.510596", "stderr": "", "stderr_lines": [], "stdout": " 22:15:10 up 196 days, 13:48, 1 user, load average: 0.16, 0.14, 0.11", "stdout_lines": [" 22:15:10 up 196 days, 13:48, 1 user, load average: 0.16, 0.14, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009182", "end": "2025-12-19 22:15:10.547778", "msg": "", "rc": 0, "start": "2025-12-19 22:15:10.538596", "stderr": "", "stderr_lines": [], "stdout": " 22:15:10 up 196 days, 13:48, 1 user, load average: 0.18, 0.16, 0.17", "stdout_lines": [" 22:15:10 up 196 days, 13:48, 1 user, load average: 0.18, 0.16, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004476", "end": "2025-12-19 22:15:10.784104", "msg": "", "rc": 0, "start": "2025-12-19 22:15:10.779628", "stderr": "", "stderr_lines": [], "stdout": " 22:15:10 up 12:58, 1 user, load average: 0.10, 0.08, 0.02", "stdout_lines": [" 22:15:10 up 12:58, 1 user, load average: 0.10, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003121", "end": "2025-12-19 22:14:37.336545", "msg": "", "rc": 0, "start": "2025-12-19 22:14:37.333424", "stderr": "", "stderr_lines": [], "stdout": " 22:14:37 up 23 days, 1:08, 0 user, load average: 0.32, 0.37, 0.43", "stdout_lines": [" 22:14:37 up 23 days, 1:08, 0 user, load average: 0.32, 0.37, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004398", "end": "2025-12-19 19:15:10.996072", "msg": "", "rc": 0, "start": "2025-12-19 19:15:10.991674", "stderr": "", "stderr_lines": [], "stdout": " 7:15PM up 24 days, 9:04, 1 user, load averages: 0.25, 0.21, 0.19", "stdout_lines": [" 7:15PM up 24 days, 9:04, 1 user, load averages: 0.25, 0.21, 0.19"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004180", "end": "2025-12-19 22:14:44.716959", "msg": "", "rc": 0, "start": "2025-12-19 22:14:44.712779", "stderr": "", "stderr_lines": [], "stdout": " 22:14:44 up 19 days, 11:30, 0 user, load average: 0.21, 0.30, 0.39", "stdout_lines": [" 22:14:44 up 19 days, 11:30, 0 user, load average: 0.21, 0.30, 0.39"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003638", "end": "2025-12-19 22:15:11.214295", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.210657", "stderr": "", "stderr_lines": [], "stdout": " 22:15:11 up 12:58, 1 user, load average: 0.10, 0.12, 0.08", "stdout_lines": [" 22:15:11 up 12:58, 1 user, load average: 0.10, 0.12, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008456", "end": "2025-12-19 22:15:11.905227", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.896771", "stderr": "", "stderr_lines": [], "stdout": " 22:15:11 up 8:55, 1 user, load average: 1.49, 1.31, 1.25", "stdout_lines": [" 22:15:11 up 8:55, 1 user, load average: 1.49, 1.31, 1.25"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020001", "end": "2025-12-19 22:15:11.224399", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.204398", "stderr": "", "stderr_lines": [], "stdout": " 22:15:11 up 17 days, 11:41, 1 user, load average: 0.15, 0.12, 0.09", "stdout_lines": [" 22:15:11 up 17 days, 11:41, 1 user, load average: 0.15, 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.004055", "end": "2025-12-19 22:15:11.743112", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.739057", "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.004929", "end": "2025-12-19 22:15:11.767523", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.762594", "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.004062", "end": "2025-12-19 22:15:11.771317", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.767255", "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.004710", "end": "2025-12-19 22:15:11.801872", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.797162", "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.005960", "end": "2025-12-19 22:15:11.810719", "msg": "", "rc": 0, "start": "2025-12-19 22:15:11.804759", "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.005231", "end": "2025-12-19 22:14:43.328842", "msg": "", "rc": 0, "start": "2025-12-19 22:14:43.323611", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005558", "end": "2025-12-19 22:14:36.091965", "msg": "", "rc": 0, "start": "2025-12-19 22:14:36.086407", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010623", "end": "2025-12-19 22:15:12.487813", "msg": "", "rc": 0, "start": "2025-12-19 22:15:12.477190", "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.011544", "end": "2025-12-19 22:15:12.533818", "msg": "", "rc": 0, "start": "2025-12-19 22:15:12.522274", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005684", "end": "2025-12-19 22:15:12.700240", "msg": "", "rc": 0, "start": "2025-12-19 22:15:12.694556", "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.005116", "end": "2025-12-19 22:14:39.260585", "msg": "", "rc": 0, "start": "2025-12-19 22:14:39.255469", "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.005567", "end": "2025-12-19 19:15:12.986315", "msg": "", "rc": 0, "start": "2025-12-19 19:15:12.980748", "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.004711", "end": "2025-12-19 22:14:46.707160", "msg": "", "rc": 0, "start": "2025-12-19 22:14:46.702449", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-19 22:15:13.120497", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.115146", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.017659", "end": "2025-12-19 22:15:14.013857", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.996198", "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.025802", "end": "2025-12-19 22:15:13.129261", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.103459", "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.004230", "end": "2025-12-19 22:15:13.647691", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.643461", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004555", "end": "2025-12-19 22:15:13.652045", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.647490", "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.004351", "end": "2025-12-19 22:15:13.654516", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.650165", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.005086", "end": "2025-12-19 22:15:13.685972", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.680886", "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.008295", "end": "2025-12-19 22:15:13.716558", "msg": "", "rc": 0, "start": "2025-12-19 22:15:13.708263", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003504", "end": "2025-12-19 22:14:45.233978", "msg": "", "rc": 0, "start": "2025-12-19 22:14:45.230474", "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.004486", "end": "2025-12-19 22:14:38.010892", "msg": "", "rc": 0, "start": "2025-12-19 22:14:38.006406", "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.010928", "end": "2025-12-19 22:15:14.328529", "msg": "", "rc": 0, "start": "2025-12-19 22:15:14.317601", "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-19 22:15:14.373211", "msg": "", "rc": 0, "start": "2025-12-19 22:15:14.361299", "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.005798", "end": "2025-12-19 22:15:14.606712", "msg": "", "rc": 0, "start": "2025-12-19 22:15:14.600914", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.004039", "end": "2025-12-19 22:14:41.181962", "msg": "", "rc": 0, "start": "2025-12-19 22:14:41.177923", "stderr": "", "stderr_lines": [], "stdout": "27.9%", "stdout_lines": ["27.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.005071", "end": "2025-12-19 19:15:14.832602", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:15:14.827531", "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.004890", "end": "2025-12-19 22:14:48.550759", "msg": "", "rc": 0, "start": "2025-12-19 22:14:48.545869", "stderr": "", "stderr_lines": [], "stdout": "50.8%", "stdout_lines": ["50.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.005390", "end": "2025-12-19 22:15:15.035246", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.029856", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.009387", "end": "2025-12-19 22:15:16.119550", "msg": "", "rc": 0, "start": "2025-12-19 22:15:16.110163", "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.026338", "end": "2025-12-19 22:15:15.043527", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.017189", "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.005230", "end": "2025-12-19 22:15:15.573637", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.568407", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004843", "end": "2025-12-19 22:15:15.583022", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.578179", "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.005751", "end": "2025-12-19 22:15:15.605452", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.599701", "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.003525", "end": "2025-12-19 22:15:15.633447", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.629922", "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.006582", "end": "2025-12-19 22:15:15.626043", "msg": "", "rc": 0, "start": "2025-12-19 22:15:15.619461", "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.002478", "end": "2025-12-19 22:14:47.161829", "msg": "", "rc": 0, "start": "2025-12-19 22:14:47.159351", "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.002881", "end": "2025-12-19 22:14:39.923888", "msg": "", "rc": 0, "start": "2025-12-19 22:14:39.921007", "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.011666", "end": "2025-12-19 22:15:16.255170", "msg": "", "rc": 0, "start": "2025-12-19 22:15:16.243504", "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.012984", "end": "2025-12-19 22:15:16.315612", "msg": "", "rc": 0, "start": "2025-12-19 22:15:16.302628", "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.003087", "end": "2025-12-19 22:15:16.541789", "msg": "", "rc": 0, "start": "2025-12-19 22:15:16.538702", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002891", "end": "2025-12-19 22:14:50.455802", "msg": "", "rc": 0, "start": "2025-12-19 22:14:50.452911", "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.003197", "end": "2025-12-19 22:14:43.135083", "msg": "", "rc": 0, "start": "2025-12-19 22:14:43.131886", "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.003955", "end": "2025-12-19 19:15:16.776469", "msg": "", "rc": 0, "start": "2025-12-19 19:15:16.772514", "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.002890", "end": "2025-12-19 22:15:16.972210", "msg": "", "rc": 0, "start": "2025-12-19 22:15:16.969320", "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.004910", "end": "2025-12-19 22:15:18.309614", "msg": "", "rc": 0, "start": "2025-12-19 22:15:18.304704", "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.029283", "end": "2025-12-19 22:15:16.971732", "msg": "", "rc": 0, "start": "2025-12-19 22:15:16.942449", "stderr": "", "stderr_lines": [], "stdout": "33.8°C", "stdout_lines": ["33.8°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004185", "end": "2025-12-19 22:15:17.475996", "msg": "", "rc": 0, "start": "2025-12-19 22:15:17.471811", "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.003967", "end": "2025-12-19 22:15:17.514843", "msg": "", "rc": 0, "start": "2025-12-19 22:15:17.510876", "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.004755", "end": "2025-12-19 22:15:17.536121", "msg": "", "rc": 0, "start": "2025-12-19 22:15:17.531366", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
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.005014", "end": "2025-12-19 22:15:17.540260", "msg": "", "rc": 0, "start": "2025-12-19 22:15:17.535246", "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.006081", "end": "2025-12-19 22:15:17.568778", "msg": "", "rc": 0, "start": "2025-12-19 22:15:17.562697", "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.004205", "end": "2025-12-19 22:14:49.080533", "msg": "", "rc": 0, "start": "2025-12-19 22:14:49.076328", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005257", "end": "2025-12-19 22:14:41.876037", "msg": "", "rc": 0, "start": "2025-12-19 22:14:41.870780", "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.010012", "end": "2025-12-19 22:15:18.275679", "msg": "", "rc": 0, "start": "2025-12-19 22:15:18.265667", "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.011027", "end": "2025-12-19 22:15:18.316618", "msg": "", "rc": 0, "start": "2025-12-19 22:15:18.305591", "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.005999", "end": "2025-12-19 22:15:18.463345", "msg": "", "rc": 0, "start": "2025-12-19 22:15:18.457346", "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.005232", "end": "2025-12-19 22:14:45.083051", "msg": "", "rc": 0, "start": "2025-12-19 22:14:45.077819", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.004057", "end": "2025-12-19 22:14:52.492144", "msg": "", "rc": 0, "start": "2025-12-19 22:14:52.488087", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005931", "end": "2025-12-19 19:15:18.786802", "msg": "", "rc": 0, "start": "2025-12-19 19:15:18.780871", "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.005237", "end": "2025-12-19 22:15:18.896650", "msg": "", "rc": 0, "start": "2025-12-19 22:15:18.891413", "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.024701", "end": "2025-12-19 22:15:18.857444", "msg": "", "rc": 0, "start": "2025-12-19 22:15:18.832743", "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.008568", "end": "2025-12-19 22:15:20.453775", "msg": "", "rc": 0, "start": "2025-12-19 22:15:20.445207", "stderr": "", "stderr_lines": [], "stdout": "1.41", "stdout_lines": ["1.41"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:09 up 12:59, 1 user, load average: 0.12, 0.10, 0.13\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.18\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:09 up 24 days, 9:06, 1 user, load average: 0.11, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.09\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:09 up 24 days, 9:26, 1 user, load average: 0.51, 0.68, 0.73\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.83\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:09 up 24 days, 10:39, 1 user, load average: 0.92, 0.90, 0.77\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.93\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:09 up 24 days, 11:25, 1 user, load average: 0.01, 0.06, 0.08\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: 22:15:11 up 17 days, 11:41, 1 user, load average: 0.15, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.22\nCPU Temp: 33.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:10 up 196 days, 13:48, 1 user, load average: 0.18, 0.16, 0.17\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.23\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:10 up 196 days, 13:48, 1 user, load average: 0.16, 0.14, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.14\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:14:41 up 13 days, 10:04, 0 user, load average: 0.17, 0.25, 0.19\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:14:34 up 20 days, 6:16, 0 user, load average: 0.11, 0.06, 0.01\nDisk Usage: 25%\nMemory Usage: 64.6%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:10 up 12:58, 1 user, load average: 0.10, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:14:37 up 23 days, 1:08, 0 user, load average: 0.32, 0.37, 0.43\nDisk Usage: 28%\nMemory Usage: 27.9%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:14:44 up 19 days, 11:30, 0 user, load average: 0.21, 0.30, 0.39\nDisk Usage: 76%\nMemory Usage: 50.8%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:15PM up 24 days, 9:04, 1 user, load averages: 0.25, 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: 22:15:11 up 12:58, 1 user, load average: 0.10, 0.12, 0.08\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:15:11 up 8:55, 1 user, load average: 1.49, 1.31, 1.25\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.41\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-20T03:15:21.401197+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `74e6acc04b024ceb994b33d147491645` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:30:00.001656+00:00 |
| **Fin** | 2025-12-20T03:30:31.152417+00:00 |
| **Durée** | 31.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [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.003472", "end": "2025-12-19 22:30:11.457011", "msg": "", "rc": 0, "start": "2025-12-19 22:30:11.453539", "stderr": "", "stderr_lines": [], "stdout": " 22:30:11 up 24 days, 9:21, 1 user, load average: 0.12, 0.14, 0.10", "stdout_lines": [" 22:30:11 up 24 days, 9:21, 1 user, load average: 0.12, 0.14, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003560", "end": "2025-12-19 22:30:11.465683", "msg": "", "rc": 0, "start": "2025-12-19 22:30:11.462123", "stderr": "", "stderr_lines": [], "stdout": " 22:30:11 up 24 days, 11:40, 1 user, load average: 0.00, 0.01, 0.04", "stdout_lines": [" 22:30:11 up 24 days, 11:40, 1 user, load average: 0.00, 0.01, 0.04"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003547", "end": "2025-12-19 22:30:11.464559", "msg": "", "rc": 0, "start": "2025-12-19 22:30:11.461012", "stderr": "", "stderr_lines": [], "stdout": " 22:30:11 up 24 days, 9:41, 1 user, load average: 0.68, 0.77, 0.75", "stdout_lines": [" 22:30:11 up 24 days, 9:41, 1 user, load average: 0.68, 0.77, 0.75"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002834", "end": "2025-12-19 22:30:11.490063", "msg": "", "rc": 0, "start": "2025-12-19 22:30:11.487229", "stderr": "", "stderr_lines": [], "stdout": " 22:30:11 up 13:14, 1 user, load average: 0.04, 0.11, 0.11", "stdout_lines": [" 22:30:11 up 13:14, 1 user, load average: 0.04, 0.11, 0.11"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003092", "end": "2025-12-19 22:29:43.043641", "msg": "", "rc": 0, "start": "2025-12-19 22:29:43.040549", "stderr": "", "stderr_lines": [], "stdout": " 22:29:43 up 13 days, 10:19, 0 user, load average: 0.12, 0.14, 0.14", "stdout_lines": [" 22:29:43 up 13 days, 10:19, 0 user, load average: 0.12, 0.14, 0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008291", "end": "2025-12-19 22:30:12.147560", "msg": "", "rc": 0, "start": "2025-12-19 22:30:12.139269", "stderr": "", "stderr_lines": [], "stdout": " 22:30:12 up 196 days, 14:03, 1 user, load average: 0.19, 0.14, 0.10", "stdout_lines": [" 22:30:12 up 196 days, 14:03, 1 user, load average: 0.19, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009246", "end": "2025-12-19 22:30:12.199775", "msg": "", "rc": 0, "start": "2025-12-19 22:30:12.190529", "stderr": "", "stderr_lines": [], "stdout": " 22:30:12 up 196 days, 14:03, 1 user, load average: 0.13, 0.29, 0.24", "stdout_lines": [" 22:30:12 up 196 days, 14:03, 1 user, load average: 0.13, 0.29, 0.24"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004702", "end": "2025-12-19 22:30:12.485341", "msg": "", "rc": 0, "start": "2025-12-19 22:30:11.480639", "stderr": "", "stderr_lines": [], "stdout": " 22:30:11 up 24 days, 10:54, 1 user, load average: 0.60, 0.66, 0.68", "stdout_lines": [" 22:30:11 up 24 days, 10:54, 1 user, load average: 0.60, 0.66, 0.68"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003725", "end": "2025-12-19 22:29:36.250503", "msg": "", "rc": 0, "start": "2025-12-19 22:29:36.246778", "stderr": "", "stderr_lines": [], "stdout": " 22:29:36 up 20 days, 6:31, 0 user, load average: 0.18, 0.22, 0.10", "stdout_lines": [" 22:29:36 up 20 days, 6:31, 0 user, load average: 0.18, 0.22, 0.10"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004388", "end": "2025-12-19 22:30:12.645263", "msg": "", "rc": 0, "start": "2025-12-19 22:30:12.640875", "stderr": "", "stderr_lines": [], "stdout": " 22:30:12 up 13:13, 1 user, load average: 0.01, 0.03, 0.00", "stdout_lines": [" 22:30:12 up 13:13, 1 user, load average: 0.01, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003379", "end": "2025-12-19 22:29:39.162040", "msg": "", "rc": 0, "start": "2025-12-19 22:29:39.158661", "stderr": "", "stderr_lines": [], "stdout": " 22:29:39 up 23 days, 1:23, 0 user, load average: 0.70, 0.56, 0.48", "stdout_lines": [" 22:29:39 up 23 days, 1:23, 0 user, load average: 0.70, 0.56, 0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004167", "end": "2025-12-19 19:30:12.927828", "msg": "", "rc": 0, "start": "2025-12-19 19:30:12.923661", "stderr": "", "stderr_lines": [], "stdout": " 7:30PM up 24 days, 9:20, 1 user, load averages: 0.09, 0.23, 0.21", "stdout_lines": [" 7:30PM up 24 days, 9:20, 1 user, load averages: 0.09, 0.23, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002908", "end": "2025-12-19 22:29:46.644707", "msg": "", "rc": 0, "start": "2025-12-19 22:29:46.641799", "stderr": "", "stderr_lines": [], "stdout": " 22:29:46 up 19 days, 11:45, 0 user, load average: 0.43, 0.62, 0.50", "stdout_lines": [" 22:29:46 up 19 days, 11:45, 0 user, load average: 0.43, 0.62, 0.50"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019911", "end": "2025-12-19 22:30:12.859295", "msg": "", "rc": 0, "start": "2025-12-19 22:30:12.839384", "stderr": "", "stderr_lines": [], "stdout": " 22:30:12 up 17 days, 11:56, 1 user, load average: 0.25, 0.13, 0.10", "stdout_lines": [" 22:30:12 up 17 days, 11:56, 1 user, load average: 0.25, 0.13, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003574", "end": "2025-12-19 22:30:13.062301", "msg": "", "rc": 0, "start": "2025-12-19 22:30:13.058727", "stderr": "", "stderr_lines": [], "stdout": " 22:30:13 up 13:13, 1 user, load average: 0.00, 0.02, 0.04", "stdout_lines": [" 22:30:13 up 13:13, 1 user, load average: 0.00, 0.02, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010649", "end": "2025-12-19 22:30:15.919035", "msg": "", "rc": 0, "start": "2025-12-19 22:30:15.908386", "stderr": "", "stderr_lines": [], "stdout": " 22:30:15 up 9:11, 1 user, load average: 1.93, 1.38, 1.26", "stdout_lines": [" 22:30:15 up 9:11, 1 user, load average: 1.93, 1.38, 1.26"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004346", "end": "2025-12-19 22:30:13.756323", "msg": "", "rc": 0, "start": "2025-12-19 22:30:13.751977", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004122", "end": "2025-12-19 22:30:13.783191", "msg": "", "rc": 0, "start": "2025-12-19 22:30:13.779069", "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.004564", "end": "2025-12-19 22:30:13.812823", "msg": "", "rc": 0, "start": "2025-12-19 22:30:13.808259", "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.005977", "end": "2025-12-19 22:30:13.875963", "msg": "", "rc": 0, "start": "2025-12-19 22:30:13.869986", "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.004574", "end": "2025-12-19 22:30:13.875786", "msg": "", "rc": 0, "start": "2025-12-19 22:30:13.871212", "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.005310", "end": "2025-12-19 22:29:45.430041", "msg": "", "rc": 0, "start": "2025-12-19 22:29:45.424731", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005268", "end": "2025-12-19 22:29:38.162246", "msg": "", "rc": 0, "start": "2025-12-19 22:29:38.156978", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010289", "end": "2025-12-19 22:30:14.585425", "msg": "", "rc": 0, "start": "2025-12-19 22:30:14.575136", "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-19 22:30:14.618156", "msg": "", "rc": 0, "start": "2025-12-19 22:30:14.606631", "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.005953", "end": "2025-12-19 22:30:14.866535", "msg": "", "rc": 0, "start": "2025-12-19 22:30:14.860582", "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.005335", "end": "2025-12-19 22:29:41.351092", "msg": "", "rc": 0, "start": "2025-12-19 22:29:41.345757", "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.005152", "end": "2025-12-19 22:29:48.857642", "msg": "", "rc": 0, "start": "2025-12-19 22:29:48.852490", "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.005254", "end": "2025-12-19 19:30:15.163448", "msg": "", "rc": 0, "start": "2025-12-19 19:30:15.158194", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025835", "end": "2025-12-19 22:30:15.198657", "msg": "", "rc": 0, "start": "2025-12-19 22:30:15.172822", "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.005334", "end": "2025-12-19 22:30:15.603290", "msg": "", "rc": 0, "start": "2025-12-19 22:30:15.597956", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.060472", "end": "2025-12-19 22:30:16.193686", "msg": "", "rc": 0, "start": "2025-12-19 22:30:16.133214", "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.004205", "end": "2025-12-19 22:30:16.812301", "msg": "", "rc": 0, "start": "2025-12-19 22:30:16.808096", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004085", "end": "2025-12-19 22:30:16.808898", "msg": "", "rc": 0, "start": "2025-12-19 22:30:16.804813", "stderr": "", "stderr_lines": [], "stdout": "14.7%", "stdout_lines": ["14.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.005372", "end": "2025-12-19 22:30:16.895588", "msg": "", "rc": 0, "start": "2025-12-19 22:30:16.890216", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005634", "end": "2025-12-19 22:30:16.942239", "msg": "", "rc": 0, "start": "2025-12-19 22:30:16.936605", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.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.004808", "end": "2025-12-19 22:30:16.961538", "msg": "", "rc": 0, "start": "2025-12-19 22:30:16.956730", "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.003959", "end": "2025-12-19 22:29:48.785334", "msg": "", "rc": 0, "start": "2025-12-19 22:29:48.781375", "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.004192", "end": "2025-12-19 22:29:41.573614", "msg": "", "rc": 0, "start": "2025-12-19 22:29:41.569422", "stderr": "", "stderr_lines": [], "stdout": "65.5%", "stdout_lines": ["65.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.010870", "end": "2025-12-19 22:30:17.833763", "msg": "", "rc": 0, "start": "2025-12-19 22:30:17.822893", "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.011910", "end": "2025-12-19 22:30:17.847065", "msg": "", "rc": 0, "start": "2025-12-19 22:30:17.835155", "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.005872", "end": "2025-12-19 22:30:18.418090", "msg": "", "rc": 0, "start": "2025-12-19 22:30:18.412218", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.005649", "end": "2025-12-19 19:30:18.622016", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:30:18.616367", "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.004554", "end": "2025-12-19 22:29:52.329418", "msg": "", "rc": 0, "start": "2025-12-19 22:29:52.324864", "stderr": "", "stderr_lines": [], "stdout": "48.8%", "stdout_lines": ["48.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.004309", "end": "2025-12-19 22:29:45.070192", "msg": "", "rc": 0, "start": "2025-12-19 22:29:45.065883", "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.026232", "end": "2025-12-19 22:30:18.582012", "msg": "", "rc": 0, "start": "2025-12-19 22:30:18.555780", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005276", "end": "2025-12-19 22:30:19.073443", "msg": "", "rc": 0, "start": "2025-12-19 22:30:19.068167", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.026663", "end": "2025-12-19 22:30:20.122304", "msg": "", "rc": 0, "start": "2025-12-19 22:30:20.095641", "stderr": "", "stderr_lines": [], "stdout": "12.4%", "stdout_lines": ["12.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.005221", "end": "2025-12-19 22:30:20.417610", "msg": "", "rc": 0, "start": "2025-12-19 22:30:20.412389", "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.004821", "end": "2025-12-19 22:30:20.415100", "msg": "", "rc": 0, "start": "2025-12-19 22:30:20.410279", "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.005920", "end": "2025-12-19 22:30:20.489112", "msg": "", "rc": 0, "start": "2025-12-19 22:30:20.483192", "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.006450", "end": "2025-12-19 22:30:20.557102", "msg": "", "rc": 0, "start": "2025-12-19 22:30:20.550652", "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.003239", "end": "2025-12-19 22:30:20.584763", "msg": "", "rc": 0, "start": "2025-12-19 22:30:20.581524", "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.003347", "end": "2025-12-19 22:29:52.457149", "msg": "", "rc": 0, "start": "2025-12-19 22:29:52.453802", "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.003226", "end": "2025-12-19 22:29:45.255441", "msg": "", "rc": 0, "start": "2025-12-19 22:29:45.252215", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013002", "end": "2025-12-19 22:30:21.598532", "msg": "", "rc": 0, "start": "2025-12-19 22:30:21.585530", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011583", "end": "2025-12-19 22:30:21.640650", "msg": "", "rc": 0, "start": "2025-12-19 22:30:21.629067", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°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.003081", "end": "2025-12-19 22:30:22.078483", "msg": "", "rc": 0, "start": "2025-12-19 22:30:22.075402", "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.029255", "end": "2025-12-19 22:30:22.128500", "msg": "", "rc": 0, "start": "2025-12-19 22:30:22.099245", "stderr": "", "stderr_lines": [], "stdout": "33.4°C", "stdout_lines": ["33.4°C"]}
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.002943", "end": "2025-12-19 22:29:48.690964", "msg": "", "rc": 0, "start": "2025-12-19 22:29:48.688021", "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.003871", "end": "2025-12-19 19:30:22.319029", "msg": "", "rc": 0, "start": "2025-12-19 19:30:22.315158", "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.003403", "end": "2025-12-19 22:29:56.069493", "msg": "", "rc": 0, "start": "2025-12-19 22:29:56.066090", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002952", "end": "2025-12-19 22:30:22.778199", "msg": "", "rc": 0, "start": "2025-12-19 22:30:22.775247", "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.014465", "end": "2025-12-19 22:30:24.184742", "msg": "", "rc": 0, "start": "2025-12-19 22:30:24.170277", "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.004140", "end": "2025-12-19 22:30:24.077721", "msg": "", "rc": 0, "start": "2025-12-19 22:30:24.073581", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
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.004018", "end": "2025-12-19 22:30:24.110557", "msg": "", "rc": 0, "start": "2025-12-19 22:30:24.106539", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004690", "end": "2025-12-19 22:30:24.137778", "msg": "", "rc": 0, "start": "2025-12-19 22:30:24.133088", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
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.005956", "end": "2025-12-19 22:30:24.211227", "msg": "", "rc": 0, "start": "2025-12-19 22:30:24.205271", "stderr": "", "stderr_lines": [], "stdout": "0.75", "stdout_lines": ["0.75"]}
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.005379", "end": "2025-12-19 22:30:24.222722", "msg": "", "rc": 0, "start": "2025-12-19 22:30:24.217343", "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.004137", "end": "2025-12-19 22:29:56.011450", "msg": "", "rc": 0, "start": "2025-12-19 22:29:56.007313", "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.005227", "end": "2025-12-19 22:29:48.827891", "msg": "", "rc": 0, "start": "2025-12-19 22:29:48.822664", "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.010184", "end": "2025-12-19 22:30:25.090988", "msg": "", "rc": 0, "start": "2025-12-19 22:30:25.080804", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
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.011201", "end": "2025-12-19 22:30:25.106161", "msg": "", "rc": 0, "start": "2025-12-19 22:30:25.094960", "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.005744", "end": "2025-12-19 22:30:25.630923", "msg": "", "rc": 0, "start": "2025-12-19 22:30:25.625179", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005885", "end": "2025-12-19 19:30:25.834342", "msg": "", "rc": 0, "start": "2025-12-19 19:30:25.828457", "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.004709", "end": "2025-12-19 22:29:59.571080", "msg": "", "rc": 0, "start": "2025-12-19 22:29:59.566371", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
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.024649", "end": "2025-12-19 22:30:25.767353", "msg": "", "rc": 0, "start": "2025-12-19 22:30:25.742704", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.006121", "end": "2025-12-19 22:29:52.281478", "msg": "", "rc": 0, "start": "2025-12-19 22:29:52.275357", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
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.005280", "end": "2025-12-19 22:30:26.310476", "msg": "", "rc": 0, "start": "2025-12-19 22:30:26.305196", "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.037093", "end": "2025-12-19 22:30:28.106887", "msg": "", "rc": 0, "start": "2025-12-19 22:30:28.069794", "stderr": "", "stderr_lines": [], "stdout": "1.94", "stdout_lines": ["1.94"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:11 up 24 days, 9:21, 1 user, load average: 0.12, 0.14, 0.10\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.17\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:11 up 13:14, 1 user, load average: 0.04, 0.11, 0.11\nDisk Usage: 22%\nMemory Usage: 14.7%\nCPU Load: 0.03\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:11 up 24 days, 9:41, 1 user, load average: 0.68, 0.77, 0.75\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.72\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:11 up 24 days, 10:54, 1 user, load average: 0.60, 0.66, 0.68\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.75\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:11 up 24 days, 11:40, 1 user, load average: 0.00, 0.01, 0.04\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: 22:30:12 up 17 days, 11:56, 1 user, load average: 0.25, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.29\nCPU Temp: 33.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:12 up 196 days, 14:03, 1 user, load average: 0.13, 0.29, 0.24\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.19\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:12 up 196 days, 14:03, 1 user, load average: 0.19, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.36\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:29:43 up 13 days, 10:19, 0 user, load average: 0.12, 0.14, 0.14\nDisk Usage: 50%\nMemory Usage: 71.2%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:29:36 up 20 days, 6:31, 0 user, load average: 0.18, 0.22, 0.10\nDisk Usage: 25%\nMemory Usage: 65.5%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:12 up 13:13, 1 user, load average: 0.01, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:29:39 up 23 days, 1:23, 0 user, load average: 0.70, 0.56, 0.48\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.63\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:29:46 up 19 days, 11:45, 0 user, load average: 0.43, 0.62, 0.50\nDisk Usage: 76%\nMemory Usage: 48.8%\nCPU Load: 0.83\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:30PM up 24 days, 9:20, 1 user, load averages: 0.09, 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: 22:30:13 up 13:13, 1 user, load average: 0.00, 0.02, 0.04\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:30:15 up 9:11, 1 user, load average: 1.93, 1.38, 1.26\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.94\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-20T03:30:31.331668+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a3e6999542374d178f238bb7a1a29f82` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:35:00.004437+00:00 |
| **Fin** | 2025-12-20T03:35:20.932471+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: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [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.003837", "end": "2025-12-19 22:35:09.762426", "msg": "", "rc": 0, "start": "2025-12-19 22:35:09.758589", "stderr": "", "stderr_lines": [], "stdout": " 22:35:09 up 24 days, 11:45, 1 user, load average: 0.00, 0.00, 0.01", "stdout_lines": [" 22:35:09 up 24 days, 11:45, 1 user, load average: 0.00, 0.00, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003430", "end": "2025-12-19 22:35:09.759344", "msg": "", "rc": 0, "start": "2025-12-19 22:35:09.755914", "stderr": "", "stderr_lines": [], "stdout": " 22:35:09 up 24 days, 9:46, 1 user, load average: 0.41, 0.71, 0.75", "stdout_lines": [" 22:35:09 up 24 days, 9:46, 1 user, load average: 0.41, 0.71, 0.75"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003507", "end": "2025-12-19 22:35:09.759975", "msg": "", "rc": 0, "start": "2025-12-19 22:35:09.756468", "stderr": "", "stderr_lines": [], "stdout": " 22:35:09 up 24 days, 9:26, 1 user, load average: 0.05, 0.09, 0.09", "stdout_lines": [" 22:35:09 up 24 days, 9:26, 1 user, load average: 0.05, 0.09, 0.09"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002831", "end": "2025-12-19 22:35:09.794024", "msg": "", "rc": 0, "start": "2025-12-19 22:35:09.791193", "stderr": "", "stderr_lines": [], "stdout": " 22:35:09 up 13:19, 1 user, load average: 0.23, 0.18, 0.14", "stdout_lines": [" 22:35:09 up 13:19, 1 user, load average: 0.23, 0.18, 0.14"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004314", "end": "2025-12-19 22:35:09.796037", "msg": "", "rc": 0, "start": "2025-12-19 22:35:09.791723", "stderr": "", "stderr_lines": [], "stdout": " 22:35:09 up 24 days, 10:59, 1 user, load average: 0.64, 0.61, 0.65", "stdout_lines": [" 22:35:09 up 24 days, 10:59, 1 user, load average: 0.64, 0.61, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003739", "end": "2025-12-19 22:34:41.307077", "msg": "", "rc": 0, "start": "2025-12-19 22:34:41.303338", "stderr": "", "stderr_lines": [], "stdout": " 22:34:41 up 13 days, 10:24, 0 user, load average: 0.59, 0.27, 0.18", "stdout_lines": [" 22:34:41 up 13 days, 10:24, 0 user, load average: 0.59, 0.27, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004096", "end": "2025-12-19 22:34:34.106646", "msg": "", "rc": 0, "start": "2025-12-19 22:34:34.102550", "stderr": "", "stderr_lines": [], "stdout": " 22:34:34 up 20 days, 6:36, 0 user, load average: 0.19, 0.13, 0.09", "stdout_lines": [" 22:34:34 up 20 days, 6:36, 0 user, load average: 0.19, 0.13, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008231", "end": "2025-12-19 22:35:10.440039", "msg": "", "rc": 0, "start": "2025-12-19 22:35:10.431808", "stderr": "", "stderr_lines": [], "stdout": " 22:35:10 up 196 days, 14:08, 1 user, load average: 0.24, 0.15, 0.10", "stdout_lines": [" 22:35:10 up 196 days, 14:08, 1 user, load average: 0.24, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009325", "end": "2025-12-19 22:35:10.488455", "msg": "", "rc": 0, "start": "2025-12-19 22:35:10.479130", "stderr": "", "stderr_lines": [], "stdout": " 22:35:10 up 196 days, 14:08, 1 user, load average: 0.20, 0.25, 0.24", "stdout_lines": [" 22:35:10 up 196 days, 14:08, 1 user, load average: 0.20, 0.25, 0.24"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004516", "end": "2025-12-19 22:35:10.700210", "msg": "", "rc": 0, "start": "2025-12-19 22:35:10.695694", "stderr": "", "stderr_lines": [], "stdout": " 22:35:10 up 13:18, 1 user, load average: 0.04, 0.03, 0.00", "stdout_lines": [" 22:35:10 up 13:18, 1 user, load average: 0.04, 0.03, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002651", "end": "2025-12-19 22:34:44.631538", "msg": "", "rc": 0, "start": "2025-12-19 22:34:44.628887", "stderr": "", "stderr_lines": [], "stdout": " 22:34:44 up 19 days, 11:50, 0 user, load average: 0.58, 0.54, 0.48", "stdout_lines": [" 22:34:44 up 19 days, 11:50, 0 user, load average: 0.58, 0.54, 0.48"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003521", "end": "2025-12-19 22:34:37.308827", "msg": "", "rc": 0, "start": "2025-12-19 22:34:37.305306", "stderr": "", "stderr_lines": [], "stdout": " 22:34:37 up 23 days, 1:28, 0 user, load average: 0.71, 0.56, 0.49", "stdout_lines": [" 22:34:37 up 23 days, 1:28, 0 user, load average: 0.71, 0.56, 0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004242", "end": "2025-12-19 19:35:10.949217", "msg": "", "rc": 0, "start": "2025-12-19 19:35:10.944975", "stderr": "", "stderr_lines": [], "stdout": " 7:35PM up 24 days, 9:24, 1 user, load averages: 0.20, 0.27, 0.24", "stdout_lines": [" 7:35PM up 24 days, 9:24, 1 user, load averages: 0.20, 0.27, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003644", "end": "2025-12-19 22:35:11.121277", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.117633", "stderr": "", "stderr_lines": [], "stdout": " 22:35:11 up 13:18, 1 user, load average: 0.12, 0.07, 0.05", "stdout_lines": [" 22:35:11 up 13:18, 1 user, load average: 0.12, 0.07, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007830", "end": "2025-12-19 22:35:11.577263", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.569433", "stderr": "", "stderr_lines": [], "stdout": " 22:35:11 up 9:17, 1 user, load average: 1.18, 1.28, 1.25", "stdout_lines": [" 22:35:11 up 9:17, 1 user, load average: 1.18, 1.28, 1.25"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020040", "end": "2025-12-19 22:35:11.156602", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.136562", "stderr": "", "stderr_lines": [], "stdout": " 22:35:11 up 17 days, 12:01, 1 user, load average: 0.35, 0.13, 0.10", "stdout_lines": [" 22:35:11 up 17 days, 12:01, 1 user, load average: 0.35, 0.13, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004290", "end": "2025-12-19 22:35:11.674101", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.669811", "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.004120", "end": "2025-12-19 22:35:11.698388", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.694268", "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.004949", "end": "2025-12-19 22:35:11.708703", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.703754", "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.004652", "end": "2025-12-19 22:35:11.728693", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.724041", "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.005896", "end": "2025-12-19 22:35:11.764963", "msg": "", "rc": 0, "start": "2025-12-19 22:35:11.759067", "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.004885", "end": "2025-12-19 22:34:43.253912", "msg": "", "rc": 0, "start": "2025-12-19 22:34:43.249027", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005460", "end": "2025-12-19 22:34:36.021812", "msg": "", "rc": 0, "start": "2025-12-19 22:34:36.016352", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010286", "end": "2025-12-19 22:35:12.437746", "msg": "", "rc": 0, "start": "2025-12-19 22:35:12.427460", "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.011446", "end": "2025-12-19 22:35:12.473139", "msg": "", "rc": 0, "start": "2025-12-19 22:35:12.461693", "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.005945", "end": "2025-12-19 22:35:12.638545", "msg": "", "rc": 0, "start": "2025-12-19 22:35:12.632600", "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.005734", "end": "2025-12-19 22:34:39.189431", "msg": "", "rc": 0, "start": "2025-12-19 22:34:39.183697", "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.004670", "end": "2025-12-19 22:34:46.638349", "msg": "", "rc": 0, "start": "2025-12-19 22:34:46.633679", "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.005580", "end": "2025-12-19 19:35:12.950736", "msg": "", "rc": 0, "start": "2025-12-19 19:35:12.945156", "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.005263", "end": "2025-12-19 22:35:13.076459", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.071196", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007320", "end": "2025-12-19 22:35:13.635465", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.628145", "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.025845", "end": "2025-12-19 22:35:13.075131", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.049286", "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.004279", "end": "2025-12-19 22:35:13.604556", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.600277", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004725", "end": "2025-12-19 22:35:13.616663", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.611938", "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.004263", "end": "2025-12-19 22:35:13.628701", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.624438", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004447", "end": "2025-12-19 22:35:13.660827", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.656380", "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.005438", "end": "2025-12-19 22:35:13.682352", "msg": "", "rc": 0, "start": "2025-12-19 22:35:13.676914", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004090", "end": "2025-12-19 22:34:45.191096", "msg": "", "rc": 0, "start": "2025-12-19 22:34:45.187006", "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.004640", "end": "2025-12-19 22:34:37.965453", "msg": "", "rc": 0, "start": "2025-12-19 22:34:37.960813", "stderr": "", "stderr_lines": [], "stdout": "65.5%", "stdout_lines": ["65.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.010946", "end": "2025-12-19 22:35:14.299013", "msg": "", "rc": 0, "start": "2025-12-19 22:35:14.288067", "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.011944", "end": "2025-12-19 22:35:14.339709", "msg": "", "rc": 0, "start": "2025-12-19 22:35:14.327765", "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-19 22:35:14.590517", "msg": "", "rc": 0, "start": "2025-12-19 22:35:14.584675", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004243", "end": "2025-12-19 22:34:41.137642", "msg": "", "rc": 0, "start": "2025-12-19 22:34:41.133399", "stderr": "", "stderr_lines": [], "stdout": "27.7%", "stdout_lines": ["27.7%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003396", "end": "2025-12-19 22:34:48.475525", "msg": "", "rc": 0, "start": "2025-12-19 22:34:48.472129", "stderr": "", "stderr_lines": [], "stdout": "53.2%", "stdout_lines": ["53.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.005072", "end": "2025-12-19 19:35:14.799168", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:35:14.794096", "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.005373", "end": "2025-12-19 22:35:15.027154", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.021781", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.008965", "end": "2025-12-19 22:35:15.815443", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.806478", "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.026540", "end": "2025-12-19 22:35:15.000508", "msg": "", "rc": 0, "start": "2025-12-19 22:35:14.973968", "stderr": "", "stderr_lines": [], "stdout": "19.1%", "stdout_lines": ["19.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005201", "end": "2025-12-19 22:35:15.538504", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.533303", "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.004869", "end": "2025-12-19 22:35:15.538690", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.533821", "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.006265", "end": "2025-12-19 22:35:15.550263", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.543998", "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.002936", "end": "2025-12-19 22:35:15.594929", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.591993", "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.006239", "end": "2025-12-19 22:35:15.599481", "msg": "", "rc": 0, "start": "2025-12-19 22:35:15.593242", "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.003087", "end": "2025-12-19 22:34:47.122934", "msg": "", "rc": 0, "start": "2025-12-19 22:34:47.119847", "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.003036", "end": "2025-12-19 22:34:39.882376", "msg": "", "rc": 0, "start": "2025-12-19 22:34:39.879340", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011857", "end": "2025-12-19 22:35:16.231156", "msg": "", "rc": 0, "start": "2025-12-19 22:35:16.219299", "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.012965", "end": "2025-12-19 22:35:16.262852", "msg": "", "rc": 0, "start": "2025-12-19 22:35:16.249887", "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.003169", "end": "2025-12-19 22:35:16.517499", "msg": "", "rc": 0, "start": "2025-12-19 22:35:16.514330", "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.002944", "end": "2025-12-19 22:34:43.054457", "msg": "", "rc": 0, "start": "2025-12-19 22:34:43.051513", "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.002538", "end": "2025-12-19 22:34:50.404768", "msg": "", "rc": 0, "start": "2025-12-19 22:34:50.402230", "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.003970", "end": "2025-12-19 19:35:16.714364", "msg": "", "rc": 0, "start": "2025-12-19 19:35:16.710394", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002863", "end": "2025-12-19 22:35:16.945215", "msg": "", "rc": 0, "start": "2025-12-19 22:35:16.942352", "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.004578", "end": "2025-12-19 22:35:17.890268", "msg": "", "rc": 0, "start": "2025-12-19 22:35:17.885690", "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.029489", "end": "2025-12-19 22:35:16.931006", "msg": "", "rc": 0, "start": "2025-12-19 22:35:16.901517", "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.004136", "end": "2025-12-19 22:35:17.451009", "msg": "", "rc": 0, "start": "2025-12-19 22:35:17.446873", "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.004699", "end": "2025-12-19 22:35:17.480234", "msg": "", "rc": 0, "start": "2025-12-19 22:35:17.475535", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004018", "end": "2025-12-19 22:35:17.487080", "msg": "", "rc": 0, "start": "2025-12-19 22:35:17.483062", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
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.005012", "end": "2025-12-19 22:35:17.515646", "msg": "", "rc": 0, "start": "2025-12-19 22:35:17.510634", "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.005501", "end": "2025-12-19 22:35:17.510181", "msg": "", "rc": 0, "start": "2025-12-19 22:35:17.504680", "stderr": "", "stderr_lines": [], "stdout": "0.75", "stdout_lines": ["0.75"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004290", "end": "2025-12-19 22:34:49.069074", "msg": "", "rc": 0, "start": "2025-12-19 22:34:49.064784", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.004946", "end": "2025-12-19 22:34:41.795750", "msg": "", "rc": 0, "start": "2025-12-19 22:34:41.790804", "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.009944", "end": "2025-12-19 22:35:18.249208", "msg": "", "rc": 0, "start": "2025-12-19 22:35:18.239264", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011184", "end": "2025-12-19 22:35:18.279647", "msg": "", "rc": 0, "start": "2025-12-19 22:35:18.268463", "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.005556", "end": "2025-12-19 22:35:18.468999", "msg": "", "rc": 0, "start": "2025-12-19 22:35:18.463443", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004973", "end": "2025-12-19 22:34:44.978233", "msg": "", "rc": 0, "start": "2025-12-19 22:34:44.973260", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005858", "end": "2025-12-19 19:35:18.728768", "msg": "", "rc": 0, "start": "2025-12-19 19:35:18.722910", "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.004702", "end": "2025-12-19 22:34:52.441872", "msg": "", "rc": 0, "start": "2025-12-19 22:34:52.437170", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.005456", "end": "2025-12-19 22:35:18.896866", "msg": "", "rc": 0, "start": "2025-12-19 22:35:18.891410", "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.008110", "end": "2025-12-19 22:35:20.028515", "msg": "", "rc": 0, "start": "2025-12-19 22:35:20.020405", "stderr": "", "stderr_lines": [], "stdout": "1.37", "stdout_lines": ["1.37"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025415", "end": "2025-12-19 22:35:18.847516", "msg": "", "rc": 0, "start": "2025-12-19 22:35:18.822101", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:09 up 13:19, 1 user, load average: 0.23, 0.18, 0.14\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.27\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:09 up 24 days, 9:26, 1 user, load average: 0.05, 0.09, 0.09\nDisk Usage: 23%\nMemory Usage: 76.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: 22:35:09 up 24 days, 9:46, 1 user, load average: 0.41, 0.71, 0.75\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.42\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:09 up 24 days, 10:59, 1 user, load average: 0.64, 0.61, 0.65\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.75\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:09 up 24 days, 11:45, 1 user, load average: 0.00, 0.00, 0.01\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: 22:35:11 up 17 days, 12:01, 1 user, load average: 0.35, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.1%\nCPU Load: 0.38\nCPU Temp: 34.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:10 up 196 days, 14:08, 1 user, load average: 0.20, 0.25, 0.24\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.17\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:10 up 196 days, 14:08, 1 user, load average: 0.24, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.28\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:34:41 up 13 days, 10:24, 0 user, load average: 0.59, 0.27, 0.18\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:34:34 up 20 days, 6:36, 0 user, load average: 0.19, 0.13, 0.09\nDisk Usage: 25%\nMemory Usage: 65.5%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:10 up 13:18, 1 user, load average: 0.04, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:34:37 up 23 days, 1:28, 0 user, load average: 0.71, 0.56, 0.49\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:34:44 up 19 days, 11:50, 0 user, load average: 0.58, 0.54, 0.48\nDisk Usage: 76%\nMemory Usage: 53.2%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:35PM up 24 days, 9:24, 1 user, load averages: 0.20, 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: 22:35:11 up 13:18, 1 user, load average: 0.12, 0.07, 0.05\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:35:11 up 9:17, 1 user, load average: 1.18, 1.28, 1.25\nDisk Usage: 1%\nMemory Usage: 12.8%\nCPU Load: 1.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T03:35:20.997927+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `86aad6f939a04a208845f7aea90f0738` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:40:00.002369+00:00 |
| **Fin** | 2025-12-20T03:40:21.386198+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003374", "end": "2025-12-19 22:40:09.388986", "msg": "", "rc": 0, "start": "2025-12-19 22:40:09.385612", "stderr": "", "stderr_lines": [], "stdout": " 22:40:09 up 24 days, 9:31, 1 user, load average: 0.10, 0.10, 0.09", "stdout_lines": [" 22:40:09 up 24 days, 9:31, 1 user, load average: 0.10, 0.10, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004191", "end": "2025-12-19 22:40:09.393467", "msg": "", "rc": 0, "start": "2025-12-19 22:40:09.389276", "stderr": "", "stderr_lines": [], "stdout": " 22:40:09 up 24 days, 11:50, 1 user, load average: 0.52, 0.13, 0.04", "stdout_lines": [" 22:40:09 up 24 days, 11:50, 1 user, load average: 0.52, 0.13, 0.04"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003714", "end": "2025-12-19 22:40:09.394979", "msg": "", "rc": 0, "start": "2025-12-19 22:40:09.391265", "stderr": "", "stderr_lines": [], "stdout": " 22:40:09 up 24 days, 9:51, 1 user, load average: 0.83, 0.65, 0.69", "stdout_lines": [" 22:40:09 up 24 days, 9:51, 1 user, load average: 0.83, 0.65, 0.69"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002963", "end": "2025-12-19 22:40:09.419084", "msg": "", "rc": 0, "start": "2025-12-19 22:40:09.416121", "stderr": "", "stderr_lines": [], "stdout": " 22:40:09 up 13:24, 1 user, load average: 0.28, 0.26, 0.18", "stdout_lines": [" 22:40:09 up 13:24, 1 user, load average: 0.28, 0.26, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004628", "end": "2025-12-19 22:40:09.425012", "msg": "", "rc": 0, "start": "2025-12-19 22:40:09.420384", "stderr": "", "stderr_lines": [], "stdout": " 22:40:09 up 24 days, 11:04, 1 user, load average: 0.65, 0.61, 0.63", "stdout_lines": [" 22:40:09 up 24 days, 11:04, 1 user, load average: 0.65, 0.61, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002964", "end": "2025-12-19 22:39:40.962248", "msg": "", "rc": 0, "start": "2025-12-19 22:39:40.959284", "stderr": "", "stderr_lines": [], "stdout": " 22:39:40 up 13 days, 10:29, 0 user, load average: 0.20, 0.29, 0.21", "stdout_lines": [" 22:39:40 up 13 days, 10:29, 0 user, load average: 0.20, 0.29, 0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004058", "end": "2025-12-19 22:39:33.731077", "msg": "", "rc": 0, "start": "2025-12-19 22:39:33.727019", "stderr": "", "stderr_lines": [], "stdout": " 22:39:33 up 20 days, 6:41, 0 user, load average: 0.06, 0.08, 0.08", "stdout_lines": [" 22:39:33 up 20 days, 6:41, 0 user, load average: 0.06, 0.08, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008398", "end": "2025-12-19 22:40:10.074244", "msg": "", "rc": 0, "start": "2025-12-19 22:40:10.065846", "stderr": "", "stderr_lines": [], "stdout": " 22:40:10 up 196 days, 14:13, 1 user, load average: 0.07, 0.13, 0.10", "stdout_lines": [" 22:40:10 up 196 days, 14:13, 1 user, load average: 0.07, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009162", "end": "2025-12-19 22:40:10.106266", "msg": "", "rc": 0, "start": "2025-12-19 22:40:10.097104", "stderr": "", "stderr_lines": [], "stdout": " 22:40:10 up 196 days, 14:13, 1 user, load average: 0.18, 0.20, 0.21", "stdout_lines": [" 22:40:10 up 196 days, 14:13, 1 user, load average: 0.18, 0.20, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004535", "end": "2025-12-19 22:40:10.356069", "msg": "", "rc": 0, "start": "2025-12-19 22:40:10.351534", "stderr": "", "stderr_lines": [], "stdout": " 22:40:10 up 13:23, 1 user, load average: 0.08, 0.04, 0.00", "stdout_lines": [" 22:40:10 up 13:23, 1 user, load average: 0.08, 0.04, 0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004190", "end": "2025-12-19 19:40:10.562589", "msg": "", "rc": 0, "start": "2025-12-19 19:40:10.558399", "stderr": "", "stderr_lines": [], "stdout": " 7:40PM up 24 days, 9:29, 1 user, load averages: 0.25, 0.22, 0.22", "stdout_lines": [" 7:40PM up 24 days, 9:29, 1 user, load averages: 0.25, 0.22, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003336", "end": "2025-12-19 22:39:44.251855", "msg": "", "rc": 0, "start": "2025-12-19 22:39:44.248519", "stderr": "", "stderr_lines": [], "stdout": " 22:39:44 up 19 days, 11:55, 0 user, load average: 0.96, 0.60, 0.50", "stdout_lines": [" 22:39:44 up 19 days, 11:55, 0 user, load average: 0.96, 0.60, 0.50"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003721", "end": "2025-12-19 22:39:36.934045", "msg": "", "rc": 0, "start": "2025-12-19 22:39:36.930324", "stderr": "", "stderr_lines": [], "stdout": " 22:39:36 up 23 days, 1:33, 0 user, load average: 0.30, 0.41, 0.44", "stdout_lines": [" 22:39:36 up 23 days, 1:33, 0 user, load average: 0.30, 0.41, 0.44"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003581", "end": "2025-12-19 22:40:10.775297", "msg": "", "rc": 0, "start": "2025-12-19 22:40:10.771716", "stderr": "", "stderr_lines": [], "stdout": " 22:40:10 up 13:23, 1 user, load average: 0.00, 0.03, 0.03", "stdout_lines": [" 22:40:10 up 13:23, 1 user, load average: 0.00, 0.03, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007024", "end": "2025-12-19 22:40:11.871717", "msg": "", "rc": 0, "start": "2025-12-19 22:40:11.864693", "stderr": "", "stderr_lines": [], "stdout": " 22:40:11 up 9:22, 1 user, load average: 1.27, 1.22, 1.23", "stdout_lines": [" 22:40:11 up 9:22, 1 user, load average: 1.27, 1.22, 1.23"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019902", "end": "2025-12-19 22:40:10.781151", "msg": "", "rc": 0, "start": "2025-12-19 22:40:10.761249", "stderr": "", "stderr_lines": [], "stdout": " 22:40:10 up 17 days, 12:06, 1 user, load average: 0.39, 0.20, 0.12", "stdout_lines": [" 22:40:10 up 17 days, 12:06, 1 user, load average: 0.39, 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.004108", "end": "2025-12-19 22:40:11.299410", "msg": "", "rc": 0, "start": "2025-12-19 22:40:11.295302", "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.004868", "end": "2025-12-19 22:40:11.332106", "msg": "", "rc": 0, "start": "2025-12-19 22:40:11.327238", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004046", "end": "2025-12-19 22:40:11.335708", "msg": "", "rc": 0, "start": "2025-12-19 22:40:11.331662", "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.004509", "end": "2025-12-19 22:40:11.365970", "msg": "", "rc": 0, "start": "2025-12-19 22:40:11.361461", "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.005709", "end": "2025-12-19 22:40:11.400852", "msg": "", "rc": 0, "start": "2025-12-19 22:40:11.395143", "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.005210", "end": "2025-12-19 22:39:42.888609", "msg": "", "rc": 0, "start": "2025-12-19 22:39:42.883399", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010717", "end": "2025-12-19 22:39:35.690925", "msg": "", "rc": 0, "start": "2025-12-19 22:39:35.680208", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010470", "end": "2025-12-19 22:40:12.034723", "msg": "", "rc": 0, "start": "2025-12-19 22:40:12.024253", "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.011521", "end": "2025-12-19 22:40:12.088966", "msg": "", "rc": 0, "start": "2025-12-19 22:40:12.077445", "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.005668", "end": "2025-12-19 22:40:12.286031", "msg": "", "rc": 0, "start": "2025-12-19 22:40:12.280363", "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.005670", "end": "2025-12-19 22:39:38.904044", "msg": "", "rc": 0, "start": "2025-12-19 22:39:38.898374", "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.005099", "end": "2025-12-19 22:39:46.254674", "msg": "", "rc": 0, "start": "2025-12-19 22:39:46.249575", "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.006204", "end": "2025-12-19 19:40:12.568861", "msg": "", "rc": 0, "start": "2025-12-19 19:40:12.562657", "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.005450", "end": "2025-12-19 22:40:12.720278", "msg": "", "rc": 0, "start": "2025-12-19 22:40:12.714828", "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.025519", "end": "2025-12-19 22:40:12.686447", "msg": "", "rc": 0, "start": "2025-12-19 22:40:12.660928", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009175", "end": "2025-12-19 22:40:14.054324", "msg": "", "rc": 0, "start": "2025-12-19 22:40:14.045149", "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.004277", "end": "2025-12-19 22:40:13.281117", "msg": "", "rc": 0, "start": "2025-12-19 22:40:13.276840", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004120", "end": "2025-12-19 22:40:13.303071", "msg": "", "rc": 0, "start": "2025-12-19 22:40:13.298951", "stderr": "", "stderr_lines": [], "stdout": "14.9%", "stdout_lines": ["14.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.005058", "end": "2025-12-19 22:40:13.305691", "msg": "", "rc": 0, "start": "2025-12-19 22:40:13.300633", "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.004947", "end": "2025-12-19 22:40:13.338630", "msg": "", "rc": 0, "start": "2025-12-19 22:40:13.333683", "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.005813", "end": "2025-12-19 22:40:13.364229", "msg": "", "rc": 0, "start": "2025-12-19 22:40:13.358416", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003679", "end": "2025-12-19 22:39:44.863105", "msg": "", "rc": 0, "start": "2025-12-19 22:39:44.859426", "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.004600", "end": "2025-12-19 22:39:37.645621", "msg": "", "rc": 0, "start": "2025-12-19 22:39:37.641021", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.010687", "end": "2025-12-19 22:40:13.983875", "msg": "", "rc": 0, "start": "2025-12-19 22:40:13.973188", "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.011650", "end": "2025-12-19 22:40:14.022786", "msg": "", "rc": 0, "start": "2025-12-19 22:40:14.011136", "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-19 22:40:14.257769", "msg": "", "rc": 0, "start": "2025-12-19 22:40:14.252002", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.004175", "end": "2025-12-19 22:39:40.832594", "msg": "", "rc": 0, "start": "2025-12-19 22:39:40.828419", "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.005142", "end": "2025-12-19 19:40:14.478467", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:40:14.473325", "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.003748", "end": "2025-12-19 22:39:48.174180", "msg": "", "rc": 0, "start": "2025-12-19 22:39:48.170432", "stderr": "", "stderr_lines": [], "stdout": "50.7%", "stdout_lines": ["50.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.005525", "end": "2025-12-19 22:40:14.686925", "msg": "", "rc": 0, "start": "2025-12-19 22:40:14.681400", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026070", "end": "2025-12-19 22:40:14.686158", "msg": "", "rc": 0, "start": "2025-12-19 22:40:14.660088", "stderr": "", "stderr_lines": [], "stdout": "18.7%", "stdout_lines": ["18.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009362", "end": "2025-12-19 22:40:16.192743", "msg": "", "rc": 0, "start": "2025-12-19 22:40:16.183381", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.005218", "end": "2025-12-19 22:40:15.254391", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.249173", "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.004952", "end": "2025-12-19 22:40:15.273239", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.268287", "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.005458", "end": "2025-12-19 22:40:15.291728", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.286270", "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.003830", "end": "2025-12-19 22:40:15.306549", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.302719", "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.006713", "end": "2025-12-19 22:40:15.316138", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.309425", "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.003555", "end": "2025-12-19 22:39:46.893738", "msg": "", "rc": 0, "start": "2025-12-19 22:39:46.890183", "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.002923", "end": "2025-12-19 22:39:39.598090", "msg": "", "rc": 0, "start": "2025-12-19 22:39:39.595167", "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.011709", "end": "2025-12-19 22:40:15.955314", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.943605", "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.012939", "end": "2025-12-19 22:40:16.006157", "msg": "", "rc": 0, "start": "2025-12-19 22:40:15.993218", "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.003093", "end": "2025-12-19 22:40:16.289475", "msg": "", "rc": 0, "start": "2025-12-19 22:40:16.286382", "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.002806", "end": "2025-12-19 22:39:42.777090", "msg": "", "rc": 0, "start": "2025-12-19 22:39:42.774284", "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-19 22:39:50.145253", "msg": "", "rc": 0, "start": "2025-12-19 22:39:50.142605", "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.003969", "end": "2025-12-19 19:40:16.459480", "msg": "", "rc": 0, "start": "2025-12-19 19:40:16.455511", "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-19 22:40:16.732197", "msg": "", "rc": 0, "start": "2025-12-19 22:40:16.729248", "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.005287", "end": "2025-12-19 22:40:18.305861", "msg": "", "rc": 0, "start": "2025-12-19 22:40:18.300574", "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.028938", "end": "2025-12-19 22:40:16.653602", "msg": "", "rc": 0, "start": "2025-12-19 22:40:16.624664", "stderr": "", "stderr_lines": [], "stdout": "34.0°C", "stdout_lines": ["34.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004066", "end": "2025-12-19 22:40:17.185587", "msg": "", "rc": 0, "start": "2025-12-19 22:40:17.181521", "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.003998", "end": "2025-12-19 22:40:17.190590", "msg": "", "rc": 0, "start": "2025-12-19 22:40:17.186592", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004576", "end": "2025-12-19 22:40:17.209897", "msg": "", "rc": 0, "start": "2025-12-19 22:40:17.205321", "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.005090", "end": "2025-12-19 22:40:17.226676", "msg": "", "rc": 0, "start": "2025-12-19 22:40:17.221586", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005480", "end": "2025-12-19 22:40:17.247982", "msg": "", "rc": 0, "start": "2025-12-19 22:40:17.242502", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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.004710", "end": "2025-12-19 22:39:48.765612", "msg": "", "rc": 0, "start": "2025-12-19 22:39:48.760902", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005078", "end": "2025-12-19 22:39:41.511297", "msg": "", "rc": 0, "start": "2025-12-19 22:39:41.506219", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.010010", "end": "2025-12-19 22:40:17.983826", "msg": "", "rc": 0, "start": "2025-12-19 22:40:17.973816", "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.011162", "end": "2025-12-19 22:40:18.011809", "msg": "", "rc": 0, "start": "2025-12-19 22:40:18.000647", "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.005586", "end": "2025-12-19 22:40:18.160124", "msg": "", "rc": 0, "start": "2025-12-19 22:40:18.154538", "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.005067", "end": "2025-12-19 22:39:44.695282", "msg": "", "rc": 0, "start": "2025-12-19 22:39:44.690215", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006202", "end": "2025-12-19 19:40:18.478607", "msg": "", "rc": 0, "start": "2025-12-19 19:40:18.472405", "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.004852", "end": "2025-12-19 22:39:52.207897", "msg": "", "rc": 0, "start": "2025-12-19 22:39:52.203045", "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.005875", "end": "2025-12-19 22:40:18.595778", "msg": "", "rc": 0, "start": "2025-12-19 22:40:18.589903", "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.008313", "end": "2025-12-19 22:40:20.434681", "msg": "", "rc": 0, "start": "2025-12-19 22:40:20.426368", "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.024790", "end": "2025-12-19 22:40:18.582018", "msg": "", "rc": 0, "start": "2025-12-19 22:40:18.557228", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:09 up 13:24, 1 user, load average: 0.28, 0.26, 0.18\nDisk Usage: 22%\nMemory Usage: 14.9%\nCPU Load: 0.32\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:09 up 24 days, 9:31, 1 user, load average: 0.10, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:09 up 24 days, 9:51, 1 user, load average: 0.83, 0.65, 0.69\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.95\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:09 up 24 days, 11:04, 1 user, load average: 0.65, 0.61, 0.63\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.85\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:09 up 24 days, 11:50, 1 user, load average: 0.52, 0.13, 0.04\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:10 up 17 days, 12:06, 1 user, load average: 0.39, 0.20, 0.12\nDisk Usage: 21%\nMemory Usage: 18.7%\nCPU Load: 0.41\nCPU Temp: 34.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:10 up 196 days, 14:13, 1 user, load average: 0.18, 0.20, 0.21\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.23\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:10 up 196 days, 14:13, 1 user, load average: 0.07, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.22\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:39:40 up 13 days, 10:29, 0 user, load average: 0.20, 0.29, 0.21\nDisk Usage: 50%\nMemory Usage: 71.2%\nCPU Load: 0.67\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:39:33 up 20 days, 6:41, 0 user, load average: 0.06, 0.08, 0.08\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:10 up 13:23, 1 user, load average: 0.08, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:39:36 up 23 days, 1:33, 0 user, load average: 0.30, 0.41, 0.44\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:39:44 up 19 days, 11:55, 0 user, load average: 0.96, 0.60, 0.50\nDisk Usage: 76%\nMemory Usage: 50.7%\nCPU Load: 0.81\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:40PM up 24 days, 9:29, 1 user, load averages: 0.25, 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: 22:40:10 up 13:23, 1 user, load average: 0.00, 0.03, 0.03\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:40:11 up 9:22, 1 user, load average: 1.27, 1.22, 1.23\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-20T03:40:21.456808+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `cdbc3c59c5184d789f89efad2ee660dc` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:45:00.009758+00:00 |
| **Fin** | 2025-12-20T03:45:23.982297+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: [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: [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.003265", "end": "2025-12-19 22:45:10.883488", "msg": "", "rc": 0, "start": "2025-12-19 22:45:10.880223", "stderr": "", "stderr_lines": [], "stdout": " 22:45:10 up 24 days, 9:36, 1 user, load average: 0.08, 0.06, 0.08", "stdout_lines": [" 22:45:10 up 24 days, 9:36, 1 user, load average: 0.08, 0.06, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003593", "end": "2025-12-19 22:45:10.899727", "msg": "", "rc": 0, "start": "2025-12-19 22:45:10.896134", "stderr": "", "stderr_lines": [], "stdout": " 22:45:10 up 24 days, 11:55, 1 user, load average: 0.00, 0.04, 0.01", "stdout_lines": [" 22:45:10 up 24 days, 11:55, 1 user, load average: 0.00, 0.04, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002809", "end": "2025-12-19 22:45:10.925184", "msg": "", "rc": 0, "start": "2025-12-19 22:45:10.922375", "stderr": "", "stderr_lines": [], "stdout": " 22:45:10 up 13:29, 1 user, load average: 0.41, 0.22, 0.18", "stdout_lines": [" 22:45:10 up 13:29, 1 user, load average: 0.41, 0.22, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003717", "end": "2025-12-19 22:45:10.925462", "msg": "", "rc": 0, "start": "2025-12-19 22:45:10.921745", "stderr": "", "stderr_lines": [], "stdout": " 22:45:10 up 24 days, 11:09, 1 user, load average: 0.50, 0.56, 0.61", "stdout_lines": [" 22:45:10 up 24 days, 11:09, 1 user, load average: 0.50, 0.56, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003044", "end": "2025-12-19 22:44:42.480014", "msg": "", "rc": 0, "start": "2025-12-19 22:44:42.476970", "stderr": "", "stderr_lines": [], "stdout": " 22:44:42 up 13 days, 10:34, 0 user, load average: 0.14, 0.21, 0.20", "stdout_lines": [" 22:44:42 up 13 days, 10:34, 0 user, load average: 0.14, 0.21, 0.20"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008376", "end": "2025-12-19 22:45:11.598329", "msg": "", "rc": 0, "start": "2025-12-19 22:45:11.589953", "stderr": "", "stderr_lines": [], "stdout": " 22:45:11 up 196 days, 14:18, 1 user, load average: 0.11, 0.12, 0.09", "stdout_lines": [" 22:45:11 up 196 days, 14:18, 1 user, load average: 0.11, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009414", "end": "2025-12-19 22:45:11.634861", "msg": "", "rc": 0, "start": "2025-12-19 22:45:11.625447", "stderr": "", "stderr_lines": [], "stdout": " 22:45:11 up 196 days, 14:18, 1 user, load average: 0.26, 0.26, 0.24", "stdout_lines": [" 22:45:11 up 196 days, 14:18, 1 user, load average: 0.26, 0.26, 0.24"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004175", "end": "2025-12-19 22:45:11.892712", "msg": "", "rc": 0, "start": "2025-12-19 22:45:10.888537", "stderr": "", "stderr_lines": [], "stdout": " 22:45:10 up 24 days, 9:56, 1 user, load average: 0.61, 0.64, 0.67", "stdout_lines": [" 22:45:10 up 24 days, 9:56, 1 user, load average: 0.61, 0.64, 0.67"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005616", "end": "2025-12-19 22:44:35.701460", "msg": "", "rc": 0, "start": "2025-12-19 22:44:35.695844", "stderr": "", "stderr_lines": [], "stdout": " 22:44:35 up 20 days, 6:46, 0 user, load average: 0.08, 0.05, 0.06", "stdout_lines": [" 22:44:35 up 20 days, 6:46, 0 user, load average: 0.08, 0.05, 0.06"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004548", "end": "2025-12-19 22:45:12.096583", "msg": "", "rc": 0, "start": "2025-12-19 22:45:12.092035", "stderr": "", "stderr_lines": [], "stdout": " 22:45:12 up 13:28, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 22:45:12 up 13:28, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003503", "end": "2025-12-19 22:44:38.603531", "msg": "", "rc": 0, "start": "2025-12-19 22:44:38.600028", "stderr": "", "stderr_lines": [], "stdout": " 22:44:38 up 23 days, 1:38, 0 user, load average: 0.33, 0.35, 0.41", "stdout_lines": [" 22:44:38 up 23 days, 1:38, 0 user, load average: 0.33, 0.35, 0.41"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003218", "end": "2025-12-19 22:44:46.036412", "msg": "", "rc": 0, "start": "2025-12-19 22:44:46.033194", "stderr": "", "stderr_lines": [], "stdout": " 22:44:46 up 19 days, 12:00, 0 user, load average: 0.49, 0.40, 0.42", "stdout_lines": [" 22:44:46 up 19 days, 12:00, 0 user, load average: 0.49, 0.40, 0.42"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004138", "end": "2025-12-19 19:45:12.402268", "msg": "", "rc": 0, "start": "2025-12-19 19:45:12.398130", "stderr": "", "stderr_lines": [], "stdout": " 7:45PM up 24 days, 9:34, 1 user, load averages: 0.16, 0.19, 0.20", "stdout_lines": [" 7:45PM up 24 days, 9:34, 1 user, load averages: 0.16, 0.19, 0.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020426", "end": "2025-12-19 22:45:12.279553", "msg": "", "rc": 0, "start": "2025-12-19 22:45:12.259127", "stderr": "", "stderr_lines": [], "stdout": " 22:45:12 up 17 days, 12:11, 1 user, load average: 0.11, 0.12, 0.09", "stdout_lines": [" 22:45:12 up 17 days, 12:11, 1 user, load average: 0.11, 0.12, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003696", "end": "2025-12-19 22:45:12.519061", "msg": "", "rc": 0, "start": "2025-12-19 22:45:12.515365", "stderr": "", "stderr_lines": [], "stdout": " 22:45:12 up 13:28, 1 user, load average: 0.01, 0.02, 0.01", "stdout_lines": [" 22:45:12 up 13:28, 1 user, load average: 0.01, 0.02, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008802", "end": "2025-12-19 22:45:14.381428", "msg": "", "rc": 0, "start": "2025-12-19 22:45:14.372626", "stderr": "", "stderr_lines": [], "stdout": " 22:45:14 up 9:28, 1 user, load average: 1.27, 1.23, 1.22", "stdout_lines": [" 22:45:14 up 9:28, 1 user, load average: 1.27, 1.23, 1.22"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004292", "end": "2025-12-19 22:45:12.961145", "msg": "", "rc": 0, "start": "2025-12-19 22:45:12.956853", "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.004052", "end": "2025-12-19 22:45:12.983621", "msg": "", "rc": 0, "start": "2025-12-19 22:45:12.979569", "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.004910", "end": "2025-12-19 22:45:13.003131", "msg": "", "rc": 0, "start": "2025-12-19 22:45:12.998221", "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.004772", "end": "2025-12-19 22:45:13.030153", "msg": "", "rc": 0, "start": "2025-12-19 22:45:13.025381", "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.006472", "end": "2025-12-19 22:45:13.051828", "msg": "", "rc": 0, "start": "2025-12-19 22:45:13.045356", "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.005147", "end": "2025-12-19 22:44:44.556485", "msg": "", "rc": 0, "start": "2025-12-19 22:44:44.551338", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011527", "end": "2025-12-19 22:44:37.354818", "msg": "", "rc": 0, "start": "2025-12-19 22:44:37.343291", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010327", "end": "2025-12-19 22:45:13.708445", "msg": "", "rc": 0, "start": "2025-12-19 22:45:13.698118", "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.011438", "end": "2025-12-19 22:45:13.759691", "msg": "", "rc": 0, "start": "2025-12-19 22:45:13.748253", "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.005717", "end": "2025-12-19 22:45:13.958783", "msg": "", "rc": 0, "start": "2025-12-19 22:45:13.953066", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006093", "end": "2025-12-19 22:44:47.885834", "msg": "", "rc": 0, "start": "2025-12-19 22:44:47.879741", "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.005608", "end": "2025-12-19 19:45:14.210931", "msg": "", "rc": 0, "start": "2025-12-19 19:45:14.205323", "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.005728", "end": "2025-12-19 22:44:40.576870", "msg": "", "rc": 0, "start": "2025-12-19 22:44:40.571142", "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.005304", "end": "2025-12-19 22:45:14.395821", "msg": "", "rc": 0, "start": "2025-12-19 22:45:14.390517", "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.026309", "end": "2025-12-19 22:45:14.356476", "msg": "", "rc": 0, "start": "2025-12-19 22:45:14.330167", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.024099", "end": "2025-12-19 22:45:16.585113", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.561014", "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.004255", "end": "2025-12-19 22:45:14.971356", "msg": "", "rc": 0, "start": "2025-12-19 22:45:14.967101", "stderr": "", "stderr_lines": [], "stdout": "76.9%", "stdout_lines": ["76.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.004066", "end": "2025-12-19 22:45:15.007185", "msg": "", "rc": 0, "start": "2025-12-19 22:45:15.003119", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004757", "end": "2025-12-19 22:45:15.004497", "msg": "", "rc": 0, "start": "2025-12-19 22:45:14.999740", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005253", "end": "2025-12-19 22:45:15.030976", "msg": "", "rc": 0, "start": "2025-12-19 22:45:15.025723", "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.006647", "end": "2025-12-19 22:45:15.058207", "msg": "", "rc": 0, "start": "2025-12-19 22:45:15.051560", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003537", "end": "2025-12-19 22:44:46.585301", "msg": "", "rc": 0, "start": "2025-12-19 22:44:46.581764", "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.004307", "end": "2025-12-19 22:44:39.338101", "msg": "", "rc": 0, "start": "2025-12-19 22:44:39.333794", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.011509", "end": "2025-12-19 22:45:15.711514", "msg": "", "rc": 0, "start": "2025-12-19 22:45:15.700005", "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.011702", "end": "2025-12-19 22:45:15.714783", "msg": "", "rc": 0, "start": "2025-12-19 22:45:15.703081", "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.005939", "end": "2025-12-19 22:45:15.977454", "msg": "", "rc": 0, "start": "2025-12-19 22:45:15.971515", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.004172", "end": "2025-12-19 22:44:42.512386", "msg": "", "rc": 0, "start": "2025-12-19 22:44:42.508214", "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.005311", "end": "2025-12-19 19:45:16.187698", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:45:16.182387", "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.004542", "end": "2025-12-19 22:44:49.944337", "msg": "", "rc": 0, "start": "2025-12-19 22:44:49.939795", "stderr": "", "stderr_lines": [], "stdout": "51.0%", "stdout_lines": ["51.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.005360", "end": "2025-12-19 22:45:16.419256", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.413896", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026440", "end": "2025-12-19 22:45:16.383367", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.356927", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010987", "end": "2025-12-19 22:45:18.718343", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.707356", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.005294", "end": "2025-12-19 22:45:16.916157", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.910863", "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.004772", "end": "2025-12-19 22:45:16.933641", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.928869", "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.005592", "end": "2025-12-19 22:45:16.978314", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.972722", "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.003444", "end": "2025-12-19 22:45:16.988317", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.984873", "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.006296", "end": "2025-12-19 22:45:16.989384", "msg": "", "rc": 0, "start": "2025-12-19 22:45:16.983088", "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.002493", "end": "2025-12-19 22:44:48.516891", "msg": "", "rc": 0, "start": "2025-12-19 22:44:48.514398", "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.003023", "end": "2025-12-19 22:44:41.277340", "msg": "", "rc": 0, "start": "2025-12-19 22:44:41.274317", "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.011673", "end": "2025-12-19 22:45:17.653791", "msg": "", "rc": 0, "start": "2025-12-19 22:45:17.642118", "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.012934", "end": "2025-12-19 22:45:17.655802", "msg": "", "rc": 0, "start": "2025-12-19 22:45:17.642868", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.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.003115", "end": "2025-12-19 22:45:17.920814", "msg": "", "rc": 0, "start": "2025-12-19 22:45:17.917699", "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.002951", "end": "2025-12-19 22:44:44.446121", "msg": "", "rc": 0, "start": "2025-12-19 22:44:44.443170", "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-19 19:45:18.135384", "msg": "", "rc": 0, "start": "2025-12-19 19:45:18.131251", "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.002921", "end": "2025-12-19 22:44:51.849172", "msg": "", "rc": 0, "start": "2025-12-19 22:44:51.846251", "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.003037", "end": "2025-12-19 22:45:18.344380", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.341343", "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.005352", "end": "2025-12-19 22:45:20.829941", "msg": "", "rc": 0, "start": "2025-12-19 22:45:20.824589", "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.028708", "end": "2025-12-19 22:45:18.337863", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.309155", "stderr": "", "stderr_lines": [], "stdout": "33.5°C", "stdout_lines": ["33.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.004034", "end": "2025-12-19 22:45:18.869639", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.865605", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003966", "end": "2025-12-19 22:45:18.884741", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.880775", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.004826", "end": "2025-12-19 22:45:18.911708", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.906882", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
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.005740", "end": "2025-12-19 22:45:18.938597", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.932857", "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.005038", "end": "2025-12-19 22:45:18.946862", "msg": "", "rc": 0, "start": "2025-12-19 22:45:18.941824", "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.004204", "end": "2025-12-19 22:44:50.476481", "msg": "", "rc": 0, "start": "2025-12-19 22:44:50.472277", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004962", "end": "2025-12-19 22:44:43.225994", "msg": "", "rc": 0, "start": "2025-12-19 22:44:43.221032", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010171", "end": "2025-12-19 22:45:19.644568", "msg": "", "rc": 0, "start": "2025-12-19 22:45:19.634397", "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.011034", "end": "2025-12-19 22:45:19.688832", "msg": "", "rc": 0, "start": "2025-12-19 22:45:19.677798", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.005555", "end": "2025-12-19 22:45:19.894942", "msg": "", "rc": 0, "start": "2025-12-19 22:45:19.889387", "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.004828", "end": "2025-12-19 22:44:46.419693", "msg": "", "rc": 0, "start": "2025-12-19 22:44:46.414865", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004365", "end": "2025-12-19 22:44:53.843248", "msg": "", "rc": 0, "start": "2025-12-19 22:44:53.838883", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.005822", "end": "2025-12-19 19:45:20.152693", "msg": "", "rc": 0, "start": "2025-12-19 19:45:20.146871", "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.005190", "end": "2025-12-19 22:45:20.332356", "msg": "", "rc": 0, "start": "2025-12-19 22:45:20.327166", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024999", "end": "2025-12-19 22:45:20.264185", "msg": "", "rc": 0, "start": "2025-12-19 22:45:20.239186", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
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.008680", "end": "2025-12-19 22:45:23.023061", "msg": "", "rc": 0, "start": "2025-12-19 22:45:23.014381", "stderr": "", "stderr_lines": [], "stdout": "1.38", "stdout_lines": ["1.38"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:10 up 24 days, 9:36, 1 user, load average: 0.08, 0.06, 0.08\nDisk Usage: 23%\nMemory Usage: 76.9%\nCPU Load: 0.07\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:10 up 13:29, 1 user, load average: 0.41, 0.22, 0.18\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.42\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:10 up 24 days, 9:56, 1 user, load average: 0.61, 0.64, 0.67\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.51\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:10 up 24 days, 11:09, 1 user, load average: 0.50, 0.56, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.54\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:10 up 24 days, 11:55, 1 user, load average: 0.00, 0.04, 0.01\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: 22:45:12 up 17 days, 12:11, 1 user, load average: 0.11, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.32\nCPU Temp: 33.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:11 up 196 days, 14:18, 1 user, load average: 0.26, 0.26, 0.24\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.38\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:11 up 196 days, 14:18, 1 user, load average: 0.11, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.09\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:44:42 up 13 days, 10:34, 0 user, load average: 0.14, 0.21, 0.20\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:44:35 up 20 days, 6:46, 0 user, load average: 0.08, 0.05, 0.06\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:12 up 13:28, 1 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:44:38 up 23 days, 1:38, 0 user, load average: 0.33, 0.35, 0.41\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:44:46 up 19 days, 12:00, 0 user, load average: 0.49, 0.40, 0.42\nDisk Usage: 76%\nMemory Usage: 51.0%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:45PM up 24 days, 9:34, 1 user, load averages: 0.16, 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: 22:45:12 up 13:28, 1 user, load average: 0.01, 0.02, 0.01\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:45:14 up 9:28, 1 user, load average: 1.27, 1.23, 1.22\nDisk Usage: 1%\nMemory Usage: 12.5%\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-20T03:45:24.068706+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `4a3e11c5f4c8435392548a6860289c20` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:50:00.012094+00:00 |
| **Fin** | 2025-12-20T03:50:22.289676+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: [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.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.003902", "end": "2025-12-19 22:50:11.048913", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.045011", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 24 days, 12:00, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 22:50:11 up 24 days, 12:00, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003518", "end": "2025-12-19 22:50:11.050560", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.047042", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 24 days, 10:01, 1 user, load average: 0.55, 0.64, 0.67", "stdout_lines": [" 22:50:11 up 24 days, 10:01, 1 user, load average: 0.55, 0.64, 0.67"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004084", "end": "2025-12-19 22:50:11.059947", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.055863", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 24 days, 11:14, 1 user, load average: 0.81, 0.69, 0.65", "stdout_lines": [" 22:50:11 up 24 days, 11:14, 1 user, load average: 0.81, 0.69, 0.65"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002855", "end": "2025-12-19 22:50:11.075245", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.072390", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 13:34, 1 user, load average: 0.65, 0.34, 0.22", "stdout_lines": [" 22:50:11 up 13:34, 1 user, load average: 0.65, 0.34, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002978", "end": "2025-12-19 22:49:42.604037", "msg": "", "rc": 0, "start": "2025-12-19 22:49:42.601059", "stderr": "", "stderr_lines": [], "stdout": " 22:49:42 up 13 days, 10:39, 0 user, load average: 0.27, 0.28, 0.23", "stdout_lines": [" 22:49:42 up 13 days, 10:39, 0 user, load average: 0.27, 0.28, 0.23"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009346", "end": "2025-12-19 22:50:11.719713", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.710367", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 196 days, 14:23, 1 user, load average: 0.20, 0.13, 0.10", "stdout_lines": [" 22:50:11 up 196 days, 14:23, 1 user, load average: 0.20, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009278", "end": "2025-12-19 22:50:11.762350", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.753072", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 196 days, 14:23, 1 user, load average: 0.51, 0.36, 0.29", "stdout_lines": [" 22:50:11 up 196 days, 14:23, 1 user, load average: 0.51, 0.36, 0.29"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004128", "end": "2025-12-19 22:50:12.034059", "msg": "", "rc": 0, "start": "2025-12-19 22:50:11.029931", "stderr": "", "stderr_lines": [], "stdout": " 22:50:11 up 24 days, 9:41, 1 user, load average: 0.31, 0.29, 0.18", "stdout_lines": [" 22:50:11 up 24 days, 9:41, 1 user, load average: 0.31, 0.29, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003628", "end": "2025-12-19 22:49:35.821757", "msg": "", "rc": 0, "start": "2025-12-19 22:49:35.818129", "stderr": "", "stderr_lines": [], "stdout": " 22:49:35 up 20 days, 6:51, 0 user, load average: 0.08, 0.03, 0.04", "stdout_lines": [" 22:49:35 up 20 days, 6:51, 0 user, load average: 0.08, 0.03, 0.04"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004453", "end": "2025-12-19 22:50:12.218230", "msg": "", "rc": 0, "start": "2025-12-19 22:50:12.213777", "stderr": "", "stderr_lines": [], "stdout": " 22:50:12 up 13:33, 1 user, load average: 0.19, 0.08, 0.02", "stdout_lines": [" 22:50:12 up 13:33, 1 user, load average: 0.19, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003264", "end": "2025-12-19 22:49:38.689368", "msg": "", "rc": 0, "start": "2025-12-19 22:49:38.686104", "stderr": "", "stderr_lines": [], "stdout": " 22:49:38 up 23 days, 1:43, 0 user, load average: 0.28, 0.37, 0.40", "stdout_lines": [" 22:49:38 up 23 days, 1:43, 0 user, load average: 0.28, 0.37, 0.40"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002997", "end": "2025-12-19 22:49:46.161348", "msg": "", "rc": 0, "start": "2025-12-19 22:49:46.158351", "stderr": "", "stderr_lines": [], "stdout": " 22:49:46 up 19 days, 12:05, 0 user, load average: 0.36, 0.46, 0.45", "stdout_lines": [" 22:49:46 up 19 days, 12:05, 0 user, load average: 0.36, 0.46, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004137", "end": "2025-12-19 19:50:12.515434", "msg": "", "rc": 0, "start": "2025-12-19 19:50:12.511297", "stderr": "", "stderr_lines": [], "stdout": " 7:50PM up 24 days, 9:39, 1 user, load averages: 0.19, 0.20, 0.19", "stdout_lines": [" 7:50PM up 24 days, 9:39, 1 user, load averages: 0.19, 0.20, 0.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020168", "end": "2025-12-19 22:50:12.431120", "msg": "", "rc": 0, "start": "2025-12-19 22:50:12.410952", "stderr": "", "stderr_lines": [], "stdout": " 22:50:12 up 17 days, 12:16, 1 user, load average: 0.16, 0.10, 0.09", "stdout_lines": [" 22:50:12 up 17 days, 12:16, 1 user, load average: 0.16, 0.10, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003746", "end": "2025-12-19 22:50:12.638095", "msg": "", "rc": 0, "start": "2025-12-19 22:50:12.634349", "stderr": "", "stderr_lines": [], "stdout": " 22:50:12 up 13:33, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 22:50:12 up 13:33, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008643", "end": "2025-12-19 22:50:15.155609", "msg": "", "rc": 0, "start": "2025-12-19 22:50:15.146966", "stderr": "", "stderr_lines": [], "stdout": " 22:50:15 up 9:33, 1 user, load average: 1.28, 1.23, 1.21", "stdout_lines": [" 22:50:15 up 9:33, 1 user, load average: 1.28, 1.23, 1.21"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004410", "end": "2025-12-19 22:50:13.039963", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.035553", "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.004338", "end": "2025-12-19 22:50:13.051541", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.047203", "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.005268", "end": "2025-12-19 22:50:13.064255", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.058987", "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.004783", "end": "2025-12-19 22:50:13.080708", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.075925", "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.006499", "end": "2025-12-19 22:50:13.110435", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.103936", "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.005003", "end": "2025-12-19 22:49:44.601341", "msg": "", "rc": 0, "start": "2025-12-19 22:49:44.596338", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007558", "end": "2025-12-19 22:49:37.393063", "msg": "", "rc": 0, "start": "2025-12-19 22:49:37.385505", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010545", "end": "2025-12-19 22:50:13.778989", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.768444", "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.011554", "end": "2025-12-19 22:50:13.820230", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.808676", "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.005775", "end": "2025-12-19 22:50:13.998688", "msg": "", "rc": 0, "start": "2025-12-19 22:50:13.992913", "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.005719", "end": "2025-12-19 22:49:40.580630", "msg": "", "rc": 0, "start": "2025-12-19 22:49:40.574911", "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.004827", "end": "2025-12-19 22:49:47.952589", "msg": "", "rc": 0, "start": "2025-12-19 22:49:47.947762", "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.005405", "end": "2025-12-19 19:50:14.283392", "msg": "", "rc": 0, "start": "2025-12-19 19:50:14.277987", "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.005973", "end": "2025-12-19 22:50:14.429767", "msg": "", "rc": 0, "start": "2025-12-19 22:50:14.423794", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020820", "end": "2025-12-19 22:50:17.260395", "msg": "", "rc": 0, "start": "2025-12-19 22:50:17.239575", "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.025719", "end": "2025-12-19 22:50:14.445290", "msg": "", "rc": 0, "start": "2025-12-19 22:50:14.419571", "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.004260", "end": "2025-12-19 22:50:14.960429", "msg": "", "rc": 0, "start": "2025-12-19 22:50:14.956169", "stderr": "", "stderr_lines": [], "stdout": "76.9%", "stdout_lines": ["76.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.004216", "end": "2025-12-19 22:50:14.966172", "msg": "", "rc": 0, "start": "2025-12-19 22:50:14.961956", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004947", "end": "2025-12-19 22:50:14.988800", "msg": "", "rc": 0, "start": "2025-12-19 22:50:14.983853", "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.004765", "end": "2025-12-19 22:50:15.017927", "msg": "", "rc": 0, "start": "2025-12-19 22:50:15.013162", "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.008079", "end": "2025-12-19 22:50:15.045521", "msg": "", "rc": 0, "start": "2025-12-19 22:50:15.037442", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003818", "end": "2025-12-19 22:49:46.543185", "msg": "", "rc": 0, "start": "2025-12-19 22:49:46.539367", "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.006135", "end": "2025-12-19 22:49:39.342841", "msg": "", "rc": 0, "start": "2025-12-19 22:49:39.336706", "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.010776", "end": "2025-12-19 22:50:15.653484", "msg": "", "rc": 0, "start": "2025-12-19 22:50:15.642708", "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.012009", "end": "2025-12-19 22:50:15.695915", "msg": "", "rc": 0, "start": "2025-12-19 22:50:15.683906", "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.005697", "end": "2025-12-19 22:50:15.945471", "msg": "", "rc": 0, "start": "2025-12-19 22:50:15.939774", "stderr": "", "stderr_lines": [], "stdout": "17.4%", "stdout_lines": ["17.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.005203", "end": "2025-12-19 19:50:16.167090", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:50:16.161887", "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.003910", "end": "2025-12-19 22:49:49.858677", "msg": "", "rc": 0, "start": "2025-12-19 22:49:49.854767", "stderr": "", "stderr_lines": [], "stdout": "50.5%", "stdout_lines": ["50.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.004955", "end": "2025-12-19 22:49:42.543427", "msg": "", "rc": 0, "start": "2025-12-19 22:49:42.538472", "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.005308", "end": "2025-12-19 22:50:16.369391", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.364083", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026306", "end": "2025-12-19 22:50:16.361959", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.335653", "stderr": "", "stderr_lines": [], "stdout": "19.2%", "stdout_lines": ["19.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.011837", "end": "2025-12-19 22:50:19.387745", "msg": "", "rc": 0, "start": "2025-12-19 22:50:19.375908", "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.005193", "end": "2025-12-19 22:50:16.889088", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.883895", "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.004691", "end": "2025-12-19 22:50:16.924016", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.919325", "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.005564", "end": "2025-12-19 22:50:16.938999", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.933435", "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.003056", "end": "2025-12-19 22:50:16.953864", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.950808", "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.006943", "end": "2025-12-19 22:50:16.979376", "msg": "", "rc": 0, "start": "2025-12-19 22:50:16.972433", "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.002592", "end": "2025-12-19 22:49:48.489272", "msg": "", "rc": 0, "start": "2025-12-19 22:49:48.486680", "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.003070", "end": "2025-12-19 22:49:41.248209", "msg": "", "rc": 0, "start": "2025-12-19 22:49:41.245139", "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.011600", "end": "2025-12-19 22:50:17.622734", "msg": "", "rc": 0, "start": "2025-12-19 22:50:17.611134", "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.013420", "end": "2025-12-19 22:50:17.670116", "msg": "", "rc": 0, "start": "2025-12-19 22:50:17.656696", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003110", "end": "2025-12-19 22:50:17.898100", "msg": "", "rc": 0, "start": "2025-12-19 22:50:17.894990", "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.003074", "end": "2025-12-19 22:49:44.417427", "msg": "", "rc": 0, "start": "2025-12-19 22:49:44.414353", "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.002595", "end": "2025-12-19 22:49:51.799526", "msg": "", "rc": 0, "start": "2025-12-19 22:49:51.796931", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003856", "end": "2025-12-19 19:50:18.121670", "msg": "", "rc": 0, "start": "2025-12-19 19:50:18.117814", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002900", "end": "2025-12-19 22:50:18.406950", "msg": "", "rc": 0, "start": "2025-12-19 22:50:18.404050", "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.029360", "end": "2025-12-19 22:50:18.297152", "msg": "", "rc": 0, "start": "2025-12-19 22:50:18.267792", "stderr": "", "stderr_lines": [], "stdout": "33.7°C", "stdout_lines": ["33.7°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004682", "end": "2025-12-19 22:50:18.883679", "msg": "", "rc": 0, "start": "2025-12-19 22:50:18.878997", "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.003952", "end": "2025-12-19 22:50:19.285151", "msg": "", "rc": 0, "start": "2025-12-19 22:50:19.281199", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
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.004192", "end": "2025-12-19 22:50:19.312688", "msg": "", "rc": 0, "start": "2025-12-19 22:50:19.308496", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.005182", "end": "2025-12-19 22:50:19.375048", "msg": "", "rc": 0, "start": "2025-12-19 22:50:19.369866", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
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.005698", "end": "2025-12-19 22:50:19.427389", "msg": "", "rc": 0, "start": "2025-12-19 22:50:19.421691", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004720", "end": "2025-12-19 22:50:19.447428", "msg": "", "rc": 0, "start": "2025-12-19 22:50:19.442708", "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.004038", "end": "2025-12-19 22:49:51.033937", "msg": "", "rc": 0, "start": "2025-12-19 22:49:51.029899", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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.005159", "end": "2025-12-19 22:49:43.788969", "msg": "", "rc": 0, "start": "2025-12-19 22:49:43.783810", "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.009825", "end": "2025-12-19 22:50:20.219608", "msg": "", "rc": 0, "start": "2025-12-19 22:50:20.209783", "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.011084", "end": "2025-12-19 22:50:20.238294", "msg": "", "rc": 0, "start": "2025-12-19 22:50:20.227210", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
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.005568", "end": "2025-12-19 22:50:20.439359", "msg": "", "rc": 0, "start": "2025-12-19 22:50:20.433791", "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.004767", "end": "2025-12-19 22:49:46.964444", "msg": "", "rc": 0, "start": "2025-12-19 22:49:46.959677", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005733", "end": "2025-12-19 19:50:20.709125", "msg": "", "rc": 0, "start": "2025-12-19 19:50:20.703392", "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.005099", "end": "2025-12-19 22:49:54.419819", "msg": "", "rc": 0, "start": "2025-12-19 22:49:54.414720", "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.005215", "end": "2025-12-19 22:50:20.863173", "msg": "", "rc": 0, "start": "2025-12-19 22:50:20.857958", "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.009752", "end": "2025-12-19 22:50:21.318767", "msg": "", "rc": 0, "start": "2025-12-19 22:50:21.309015", "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.024481", "end": "2025-12-19 22:50:20.797096", "msg": "", "rc": 0, "start": "2025-12-19 22:50:20.772615", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 13:34, 1 user, load average: 0.65, 0.34, 0.22\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.63\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 24 days, 9:41, 1 user, load average: 0.31, 0.29, 0.18\nDisk Usage: 23%\nMemory Usage: 76.9%\nCPU Load: 0.26\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 24 days, 10:01, 1 user, load average: 0.55, 0.64, 0.67\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.67\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 24 days, 11:14, 1 user, load average: 0.81, 0.69, 0.65\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.90\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 24 days, 12:00, 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: 22:50:12 up 17 days, 12:16, 1 user, load average: 0.16, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 19.2%\nCPU Load: 0.22\nCPU Temp: 33.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 196 days, 14:23, 1 user, load average: 0.51, 0.36, 0.29\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.59\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:11 up 196 days, 14:23, 1 user, load average: 0.20, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.17\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:49:42 up 13 days, 10:39, 0 user, load average: 0.27, 0.28, 0.23\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:49:35 up 20 days, 6:51, 0 user, load average: 0.08, 0.03, 0.04\nDisk Usage: 25%\nMemory Usage: 65.3%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:12 up 13:33, 1 user, load average: 0.19, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 17.4%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:49:38 up 23 days, 1:43, 0 user, load average: 0.28, 0.37, 0.40\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:49:46 up 19 days, 12:05, 0 user, load average: 0.36, 0.46, 0.45\nDisk Usage: 76%\nMemory Usage: 50.5%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:50PM up 24 days, 9:39, 1 user, load averages: 0.19, 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: 22:50:12 up 13:33, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:50:15 up 9:33, 1 user, load average: 1.28, 1.23, 1.21\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-20T03:50:22.831236+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0af4f6d990804f8dab713ca62fddbcfa` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T03:55:00.003253+00:00 |
| **Fin** | 2025-12-20T03:55:21.298485+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003481", "end": "2025-12-19 22:55:10.124588", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.121107", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 24 days, 10:06, 1 user, load average: 0.55, 0.70, 0.69", "stdout_lines": [" 22:55:10 up 24 days, 10:06, 1 user, load average: 0.55, 0.70, 0.69"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003823", "end": "2025-12-19 22:55:10.141051", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.137228", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 24 days, 12:05, 1 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 22:55:10 up 24 days, 12:05, 1 user, load average: 0.07, 0.02, 0.00"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003305", "end": "2025-12-19 22:55:10.139860", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.136555", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 24 days, 9:46, 1 user, load average: 0.21, 0.22, 0.18", "stdout_lines": [" 22:55:10 up 24 days, 9:46, 1 user, load average: 0.21, 0.22, 0.18"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002894", "end": "2025-12-19 22:55:10.159482", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.156588", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 13:39, 1 user, load average: 0.39, 0.31, 0.24", "stdout_lines": [" 22:55:10 up 13:39, 1 user, load average: 0.39, 0.31, 0.24"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004117", "end": "2025-12-19 22:55:10.149544", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.145427", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 24 days, 11:19, 1 user, load average: 0.77, 0.70, 0.66", "stdout_lines": [" 22:55:10 up 24 days, 11:19, 1 user, load average: 0.77, 0.70, 0.66"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002876", "end": "2025-12-19 22:54:41.690800", "msg": "", "rc": 0, "start": "2025-12-19 22:54:41.687924", "stderr": "", "stderr_lines": [], "stdout": " 22:54:41 up 13 days, 10:44, 0 user, load average: 0.13, 0.19, 0.19", "stdout_lines": [" 22:54:41 up 13 days, 10:44, 0 user, load average: 0.13, 0.19, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003556", "end": "2025-12-19 22:54:34.427587", "msg": "", "rc": 0, "start": "2025-12-19 22:54:34.424031", "stderr": "", "stderr_lines": [], "stdout": " 22:54:34 up 20 days, 6:56, 0 user, load average: 0.09, 0.05, 0.04", "stdout_lines": [" 22:54:34 up 20 days, 6:56, 0 user, load average: 0.09, 0.05, 0.04"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008426", "end": "2025-12-19 22:55:10.801439", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.793013", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 196 days, 14:28, 1 user, load average: 0.10, 0.12, 0.09", "stdout_lines": [" 22:55:10 up 196 days, 14:28, 1 user, load average: 0.10, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009200", "end": "2025-12-19 22:55:10.851474", "msg": "", "rc": 0, "start": "2025-12-19 22:55:10.842274", "stderr": "", "stderr_lines": [], "stdout": " 22:55:10 up 196 days, 14:28, 1 user, load average: 0.65, 0.42, 0.31", "stdout_lines": [" 22:55:10 up 196 days, 14:28, 1 user, load average: 0.65, 0.42, 0.31"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004492", "end": "2025-12-19 22:55:11.080557", "msg": "", "rc": 0, "start": "2025-12-19 22:55:11.076065", "stderr": "", "stderr_lines": [], "stdout": " 22:55:11 up 13:38, 1 user, load average: 0.08, 0.05, 0.00", "stdout_lines": [" 22:55:11 up 13:38, 1 user, load average: 0.08, 0.05, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003165", "end": "2025-12-19 22:54:37.601925", "msg": "", "rc": 0, "start": "2025-12-19 22:54:37.598760", "stderr": "", "stderr_lines": [], "stdout": " 22:54:37 up 23 days, 1:48, 0 user, load average: 0.38, 0.34, 0.37", "stdout_lines": [" 22:54:37 up 23 days, 1:48, 0 user, load average: 0.38, 0.34, 0.37"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003487", "end": "2025-12-19 22:54:44.972769", "msg": "", "rc": 0, "start": "2025-12-19 22:54:44.969282", "stderr": "", "stderr_lines": [], "stdout": " 22:54:44 up 19 days, 12:10, 0 user, load average: 0.26, 0.43, 0.44", "stdout_lines": [" 22:54:44 up 19 days, 12:10, 0 user, load average: 0.26, 0.43, 0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004673", "end": "2025-12-19 19:55:11.309376", "msg": "", "rc": 0, "start": "2025-12-19 19:55:11.304703", "stderr": "", "stderr_lines": [], "stdout": " 7:55PM up 24 days, 9:44, 1 user, load averages: 0.21, 0.22, 0.19", "stdout_lines": [" 7:55PM up 24 days, 9:44, 1 user, load averages: 0.21, 0.22, 0.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003662", "end": "2025-12-19 22:55:11.503726", "msg": "", "rc": 0, "start": "2025-12-19 22:55:11.500064", "stderr": "", "stderr_lines": [], "stdout": " 22:55:11 up 13:38, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 22:55:11 up 13:38, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005804", "end": "2025-12-19 22:55:11.762840", "msg": "", "rc": 0, "start": "2025-12-19 22:55:11.757036", "stderr": "", "stderr_lines": [], "stdout": " 22:55:11 up 9:39, 1 user, load average: 1.16, 1.23, 1.22", "stdout_lines": [" 22:55:11 up 9:39, 1 user, load average: 1.16, 1.23, 1.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019972", "end": "2025-12-19 22:55:11.511336", "msg": "", "rc": 0, "start": "2025-12-19 22:55:11.491364", "stderr": "", "stderr_lines": [], "stdout": " 22:55:11 up 17 days, 12:21, 1 user, load average: 0.21, 0.12, 0.10", "stdout_lines": [" 22:55:11 up 17 days, 12:21, 1 user, load average: 0.21, 0.12, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004321", "end": "2025-12-19 22:55:12.062318", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.057997", "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.004084", "end": "2025-12-19 22:55:12.069706", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.065622", "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.004723", "end": "2025-12-19 22:55:12.095642", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.090919", "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.004587", "end": "2025-12-19 22:55:12.125631", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.121044", "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.005376", "end": "2025-12-19 22:55:12.132372", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.126996", "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.005077", "end": "2025-12-19 22:54:43.658432", "msg": "", "rc": 0, "start": "2025-12-19 22:54:43.653355", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005730", "end": "2025-12-19 22:54:36.432416", "msg": "", "rc": 0, "start": "2025-12-19 22:54:36.426686", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010594", "end": "2025-12-19 22:55:12.834862", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.824268", "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.011421", "end": "2025-12-19 22:55:12.867504", "msg": "", "rc": 0, "start": "2025-12-19 22:55:12.856083", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005797", "end": "2025-12-19 22:55:13.094915", "msg": "", "rc": 0, "start": "2025-12-19 22:55:13.089118", "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-19 22:54:39.598667", "msg": "", "rc": 0, "start": "2025-12-19 22:54:39.593446", "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.005266", "end": "2025-12-19 19:55:13.339185", "msg": "", "rc": 0, "start": "2025-12-19 19:55:13.333919", "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.004725", "end": "2025-12-19 22:54:47.018613", "msg": "", "rc": 0, "start": "2025-12-19 22:54:47.013888", "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.005294", "end": "2025-12-19 22:55:13.549022", "msg": "", "rc": 0, "start": "2025-12-19 22:55:13.543728", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007728", "end": "2025-12-19 22:55:13.914638", "msg": "", "rc": 0, "start": "2025-12-19 22:55:13.906910", "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.026173", "end": "2025-12-19 22:55:13.479571", "msg": "", "rc": 0, "start": "2025-12-19 22:55:13.453398", "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.004298", "end": "2025-12-19 22:55:13.989297", "msg": "", "rc": 0, "start": "2025-12-19 22:55:13.984999", "stderr": "", "stderr_lines": [], "stdout": "76.9%", "stdout_lines": ["76.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.004200", "end": "2025-12-19 22:55:14.011561", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.007361", "stderr": "", "stderr_lines": [], "stdout": "14.8%", "stdout_lines": ["14.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.004851", "end": "2025-12-19 22:55:14.028786", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.023935", "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.004927", "end": "2025-12-19 22:55:14.045298", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.040371", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005716", "end": "2025-12-19 22:55:14.057973", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.052257", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003644", "end": "2025-12-19 22:54:45.556944", "msg": "", "rc": 0, "start": "2025-12-19 22:54:45.553300", "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.004329", "end": "2025-12-19 22:54:38.310312", "msg": "", "rc": 0, "start": "2025-12-19 22:54:38.305983", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.011716", "end": "2025-12-19 22:55:14.694097", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.682381", "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.012214", "end": "2025-12-19 22:55:14.711704", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.699490", "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.005748", "end": "2025-12-19 22:55:14.965892", "msg": "", "rc": 0, "start": "2025-12-19 22:55:14.960144", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.005184", "end": "2025-12-19 19:55:15.181774", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 19:55:15.176590", "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.003708", "end": "2025-12-19 22:54:48.871388", "msg": "", "rc": 0, "start": "2025-12-19 22:54:48.867680", "stderr": "", "stderr_lines": [], "stdout": "51.5%", "stdout_lines": ["51.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.004684", "end": "2025-12-19 22:54:41.549292", "msg": "", "rc": 0, "start": "2025-12-19 22:54:41.544608", "stderr": "", "stderr_lines": [], "stdout": "26.4%", "stdout_lines": ["26.4%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005266", "end": "2025-12-19 22:55:15.400938", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.395672", "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.026167", "end": "2025-12-19 22:55:15.383972", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.357805", "stderr": "", "stderr_lines": [], "stdout": "19.2%", "stdout_lines": ["19.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.008846", "end": "2025-12-19 22:55:16.066341", "msg": "", "rc": 0, "start": "2025-12-19 22:55:16.057495", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.005432", "end": "2025-12-19 22:55:15.912253", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.906821", "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.004857", "end": "2025-12-19 22:55:15.935956", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.931099", "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.005879", "end": "2025-12-19 22:55:15.944236", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.938357", "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.003391", "end": "2025-12-19 22:55:15.962372", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.958981", "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.007957", "end": "2025-12-19 22:55:15.994516", "msg": "", "rc": 0, "start": "2025-12-19 22:55:15.986559", "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.002568", "end": "2025-12-19 22:54:47.480616", "msg": "", "rc": 0, "start": "2025-12-19 22:54:47.478048", "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.003187", "end": "2025-12-19 22:54:40.272254", "msg": "", "rc": 0, "start": "2025-12-19 22:54:40.269067", "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.011640", "end": "2025-12-19 22:55:16.610697", "msg": "", "rc": 0, "start": "2025-12-19 22:55:16.599057", "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.013558", "end": "2025-12-19 22:55:16.656197", "msg": "", "rc": 0, "start": "2025-12-19 22:55:16.642639", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003096", "end": "2025-12-19 22:55:16.889795", "msg": "", "rc": 0, "start": "2025-12-19 22:55:16.886699", "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.002583", "end": "2025-12-19 22:54:50.789974", "msg": "", "rc": 0, "start": "2025-12-19 22:54:50.787391", "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.003817", "end": "2025-12-19 19:55:17.118646", "msg": "", "rc": 0, "start": "2025-12-19 19:55:17.114829", "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.002993", "end": "2025-12-19 22:54:43.479616", "msg": "", "rc": 0, "start": "2025-12-19 22:54:43.476623", "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.029532", "end": "2025-12-19 22:55:17.305704", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.276172", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°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.005085", "end": "2025-12-19 22:55:18.172150", "msg": "", "rc": 0, "start": "2025-12-19 22:55:18.167065", "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-19 22:55:17.435919", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.433015", "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.004185", "end": "2025-12-19 22:55:17.839411", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.835226", "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.004019", "end": "2025-12-19 22:55:17.863412", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.859393", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004776", "end": "2025-12-19 22:55:17.870114", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.865338", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.005199", "end": "2025-12-19 22:55:17.893892", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.888693", "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.005808", "end": "2025-12-19 22:55:17.924907", "msg": "", "rc": 0, "start": "2025-12-19 22:55:17.919099", "stderr": "", "stderr_lines": [], "stdout": "1.03", "stdout_lines": ["1.03"]}
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.004426", "end": "2025-12-19 22:54:49.401307", "msg": "", "rc": 0, "start": "2025-12-19 22:54:49.396881", "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.005360", "end": "2025-12-19 22:54:42.213186", "msg": "", "rc": 0, "start": "2025-12-19 22:54:42.207826", "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.009910", "end": "2025-12-19 22:55:18.644384", "msg": "", "rc": 0, "start": "2025-12-19 22:55:18.634474", "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.011242", "end": "2025-12-19 22:55:18.659971", "msg": "", "rc": 0, "start": "2025-12-19 22:55:18.648729", "stderr": "", "stderr_lines": [], "stdout": "0.70", "stdout_lines": ["0.70"]}
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.005595", "end": "2025-12-19 22:55:18.793769", "msg": "", "rc": 0, "start": "2025-12-19 22:55:18.788174", "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.004860", "end": "2025-12-19 22:54:45.424335", "msg": "", "rc": 0, "start": "2025-12-19 22:54:45.419475", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005959", "end": "2025-12-19 19:55:19.122246", "msg": "", "rc": 0, "start": "2025-12-19 19:55:19.116287", "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.004106", "end": "2025-12-19 22:54:52.846601", "msg": "", "rc": 0, "start": "2025-12-19 22:54:52.842495", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005331", "end": "2025-12-19 22:55:19.221758", "msg": "", "rc": 0, "start": "2025-12-19 22:55:19.216427", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024722", "end": "2025-12-19 22:55:19.239425", "msg": "", "rc": 0, "start": "2025-12-19 22:55:19.214703", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
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-19 22:55:20.356661", "msg": "", "rc": 0, "start": "2025-12-19 22:55:20.349392", "stderr": "", "stderr_lines": [], "stdout": "1.44", "stdout_lines": ["1.44"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 13:39, 1 user, load average: 0.39, 0.31, 0.24\nDisk Usage: 22%\nMemory Usage: 14.8%\nCPU Load: 0.41\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 24 days, 9:46, 1 user, load average: 0.21, 0.22, 0.18\nDisk Usage: 23%\nMemory Usage: 76.9%\nCPU Load: 0.17\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 24 days, 10:06, 1 user, load average: 0.55, 0.70, 0.69\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.46\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 24 days, 11:19, 1 user, load average: 0.77, 0.70, 0.66\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 1.03\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 24 days, 12:05, 1 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:11 up 17 days, 12:21, 1 user, load average: 0.21, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 19.2%\nCPU Load: 0.25\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 196 days, 14:28, 1 user, load average: 0.65, 0.42, 0.31\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.70\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:10 up 196 days, 14:28, 1 user, load average: 0.10, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.16\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:54:41 up 13 days, 10:44, 0 user, load average: 0.13, 0.19, 0.19\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:54:34 up 20 days, 6:56, 0 user, load average: 0.09, 0.05, 0.04\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:11 up 13:38, 1 user, load average: 0.08, 0.05, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:54:37 up 23 days, 1:48, 0 user, load average: 0.38, 0.34, 0.37\nDisk Usage: 28%\nMemory Usage: 26.4%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:54:44 up 19 days, 12:10, 0 user, load average: 0.26, 0.43, 0.44\nDisk Usage: 76%\nMemory Usage: 51.5%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:55PM up 24 days, 9:44, 1 user, load averages: 0.21, 0.22, 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: 22:55:11 up 13:38, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:55:11 up 9:39, 1 user, load average: 1.16, 1.23, 1.22\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-20T03:55:21.365051+00:00*
@@ -0,0 +1,197 @@
# ❌ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d66d3c52b08d4762b95363a2101835f7` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | failed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:00:00.013918+00:00 |
| **Fin** | 2025-12-20T04:00:40.285318+00:00 |
| **Durée** | 40.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
fatal: [ali2v.truenas.home]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host ali2v.truenas.home port 22: No route to host", "unreachable": true}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
fatal: [ali2v.xeon.home]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host ali2v.xeon.home port 22: Connection timed out", "unreachable": true}
fatal: [jump.point.home]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host jump.point.home port 22: Connection timed out", "unreachable": true}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [orangepi.pc.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003498", "end": "2025-12-19 23:00:23.077947", "msg": "", "rc": 0, "start": "2025-12-19 23:00:23.074449", "stderr": "", "stderr_lines": [], "stdout": " 23:00:23 up 24 days, 9:51, 1 user, load average: 0.37, 0.26, 0.20", "stdout_lines": [" 23:00:23 up 24 days, 9:51, 1 user, load average: 0.37, 0.26, 0.20"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003654", "end": "2025-12-19 23:00:23.086736", "msg": "", "rc": 0, "start": "2025-12-19 23:00:23.083082", "stderr": "", "stderr_lines": [], "stdout": " 23:00:23 up 24 days, 12:10, 1 user, load average: 0.43, 0.13, 0.04", "stdout_lines": [" 23:00:23 up 24 days, 12:10, 1 user, load average: 0.43, 0.13, 0.04"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004048", "end": "2025-12-19 23:00:23.115588", "msg": "", "rc": 0, "start": "2025-12-19 23:00:23.111540", "stderr": "", "stderr_lines": [], "stdout": " 23:00:23 up 24 days, 11:24, 1 user, load average: 0.80, 0.66, 0.65", "stdout_lines": [" 23:00:23 up 24 days, 11:24, 1 user, load average: 0.80, 0.66, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003077", "end": "2025-12-19 22:59:54.925910", "msg": "", "rc": 0, "start": "2025-12-19 22:59:54.922833", "stderr": "", "stderr_lines": [], "stdout": " 22:59:54 up 13 days, 10:49, 0 user, load average: 0.14, 0.13, 0.16", "stdout_lines": [" 22:59:54 up 13 days, 10:49, 0 user, load average: 0.14, 0.13, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008659", "end": "2025-12-19 23:00:24.028009", "msg": "", "rc": 0, "start": "2025-12-19 23:00:24.019350", "stderr": "", "stderr_lines": [], "stdout": " 23:00:24 up 196 days, 14:33, 1 user, load average: 0.20, 0.15, 0.10", "stdout_lines": [" 23:00:24 up 196 days, 14:33, 1 user, load average: 0.20, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009086", "end": "2025-12-19 23:00:24.028160", "msg": "", "rc": 0, "start": "2025-12-19 23:00:24.019074", "stderr": "", "stderr_lines": [], "stdout": " 23:00:24 up 196 days, 14:33, 1 user, load average: 0.21, 0.27, 0.27", "stdout_lines": [" 23:00:24 up 196 days, 14:33, 1 user, load average: 0.21, 0.27, 0.27"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004392", "end": "2025-12-19 23:00:24.107637", "msg": "", "rc": 0, "start": "2025-12-19 23:00:23.103245", "stderr": "", "stderr_lines": [], "stdout": " 23:00:23 up 24 days, 10:11, 1 user, load average: 0.64, 0.87, 0.78", "stdout_lines": [" 23:00:23 up 24 days, 10:11, 1 user, load average: 0.64, 0.87, 0.78"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020153", "end": "2025-12-19 23:00:24.125913", "msg": "", "rc": 0, "start": "2025-12-19 23:00:24.105760", "stderr": "", "stderr_lines": [], "stdout": " 23:00:24 up 17 days, 12:27, 1 user, load average: 0.21, 0.10, 0.09", "stdout_lines": [" 23:00:24 up 17 days, 12:27, 1 user, load average: 0.21, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003396", "end": "2025-12-19 22:59:48.361078", "msg": "", "rc": 0, "start": "2025-12-19 22:59:48.357682", "stderr": "", "stderr_lines": [], "stdout": " 22:59:48 up 20 days, 7:01, 0 user, load average: 0.07, 0.03, 0.02", "stdout_lines": [" 22:59:48 up 20 days, 7:01, 0 user, load average: 0.07, 0.03, 0.02"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004180", "end": "2025-12-19 20:00:24.834799", "msg": "", "rc": 0, "start": "2025-12-19 20:00:24.830619", "stderr": "", "stderr_lines": [], "stdout": " 8:00PM up 24 days, 9:50, 1 user, load averages: 0.14, 0.19, 0.17", "stdout_lines": [" 8:00PM up 24 days, 9:50, 1 user, load averages: 0.14, 0.19, 0.17"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002767", "end": "2025-12-19 22:59:58.528984", "msg": "", "rc": 0, "start": "2025-12-19 22:59:58.526217", "stderr": "", "stderr_lines": [], "stdout": " 22:59:58 up 19 days, 12:15, 0 user, load average: 0.45, 0.40, 0.42", "stdout_lines": [" 22:59:58 up 19 days, 12:15, 0 user, load average: 0.45, 0.40, 0.42"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003616", "end": "2025-12-19 22:59:51.215110", "msg": "", "rc": 0, "start": "2025-12-19 22:59:51.211494", "stderr": "", "stderr_lines": [], "stdout": " 22:59:51 up 23 days, 1:54, 0 user, load average: 0.26, 0.38, 0.38", "stdout_lines": [" 22:59:51 up 23 days, 1:54, 0 user, load average: 0.26, 0.38, 0.38"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.017526", "end": "2025-12-19 23:00:27.460810", "msg": "", "rc": 0, "start": "2025-12-19 23:00:27.443284", "stderr": "", "stderr_lines": [], "stdout": " 23:00:27 up 9:44, 1 user, load average: 1.77, 1.41, 1.29", "stdout_lines": [" 23:00:27 up 9:44, 1 user, load average: 1.77, 1.41, 1.29"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004209", "end": "2025-12-19 23:00:26.012555", "msg": "", "rc": 0, "start": "2025-12-19 23:00:26.008346", "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.004612", "end": "2025-12-19 23:00:26.079483", "msg": "", "rc": 0, "start": "2025-12-19 23:00:26.074871", "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-19 23:00:26.162996", "msg": "", "rc": 0, "start": "2025-12-19 23:00:26.157818", "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.005865", "end": "2025-12-19 23:00:26.181924", "msg": "", "rc": 0, "start": "2025-12-19 23:00:26.176059", "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-19 22:59:57.934553", "msg": "", "rc": 0, "start": "2025-12-19 22:59:57.929816", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006023", "end": "2025-12-19 22:59:50.706073", "msg": "", "rc": 0, "start": "2025-12-19 22:59:50.700050", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011675", "end": "2025-12-19 23:00:27.075090", "msg": "", "rc": 0, "start": "2025-12-19 23:00:27.063415", "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.010616", "end": "2025-12-19 23:00:27.114422", "msg": "", "rc": 0, "start": "2025-12-19 23:00:27.103806", "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.026163", "end": "2025-12-19 23:00:27.229033", "msg": "", "rc": 0, "start": "2025-12-19 23:00:27.202870", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005161", "end": "2025-12-19 22:59:54.002839", "msg": "", "rc": 0, "start": "2025-12-19 22:59:53.997678", "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.005066", "end": "2025-12-19 23:00:01.375009", "msg": "", "rc": 0, "start": "2025-12-19 23:00:01.369943", "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.005342", "end": "2025-12-19 20:00:27.796230", "msg": "", "rc": 0, "start": "2025-12-19 20:00:27.790888", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025203", "end": "2025-12-19 23:00:30.731859", "msg": "", "rc": 0, "start": "2025-12-19 23:00:30.706656", "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.004290", "end": "2025-12-19 23:00:28.965684", "msg": "", "rc": 0, "start": "2025-12-19 23:00:28.961394", "stderr": "", "stderr_lines": [], "stdout": "76.9%", "stdout_lines": ["76.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.004803", "end": "2025-12-19 23:00:29.024758", "msg": "", "rc": 0, "start": "2025-12-19 23:00:29.019955", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006223", "end": "2025-12-19 23:00:29.088102", "msg": "", "rc": 0, "start": "2025-12-19 23:00:29.081879", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005229", "end": "2025-12-19 23:00:29.116774", "msg": "", "rc": 0, "start": "2025-12-19 23:00:29.111545", "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.003852", "end": "2025-12-19 23:00:00.874219", "msg": "", "rc": 0, "start": "2025-12-19 23:00:00.870367", "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.004447", "end": "2025-12-19 22:59:53.663459", "msg": "", "rc": 0, "start": "2025-12-19 22:59:53.659012", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.4%"]}
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.011929", "end": "2025-12-19 23:00:29.937652", "msg": "", "rc": 0, "start": "2025-12-19 23:00:29.925723", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.011046", "end": "2025-12-19 23:00:29.948100", "msg": "", "rc": 0, "start": "2025-12-19 23:00:29.937054", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.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.026592", "end": "2025-12-19 23:00:30.236087", "msg": "", "rc": 0, "start": "2025-12-19 23:00:30.209495", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.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.004010", "end": "2025-12-19 22:59:56.968751", "msg": "", "rc": 0, "start": "2025-12-19 22:59:56.964741", "stderr": "", "stderr_lines": [], "stdout": "27.9%", "stdout_lines": ["27.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.003707", "end": "2025-12-19 23:00:04.343399", "msg": "", "rc": 0, "start": "2025-12-19 23:00:04.339692", "stderr": "", "stderr_lines": [], "stdout": "56.6%", "stdout_lines": ["56.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.005370", "end": "2025-12-19 20:00:30.671526", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:00:30.666156", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.021582", "end": "2025-12-19 23:00:33.880262", "msg": "", "rc": 0, "start": "2025-12-19 23:00:33.858680", "stderr": "", "stderr_lines": [], "stdout": "12.4%", "stdout_lines": ["12.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.005433", "end": "2025-12-19 23:00:31.867612", "msg": "", "rc": 0, "start": "2025-12-19 23:00:31.862179", "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.005835", "end": "2025-12-19 23:00:31.945033", "msg": "", "rc": 0, "start": "2025-12-19 23:00:31.939198", "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.006519", "end": "2025-12-19 23:00:31.964967", "msg": "", "rc": 0, "start": "2025-12-19 23:00:31.958448", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.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.003033", "end": "2025-12-19 23:00:32.006449", "msg": "", "rc": 0, "start": "2025-12-19 23:00:32.003416", "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.002862", "end": "2025-12-19 23:00:03.776188", "msg": "", "rc": 0, "start": "2025-12-19 23:00:03.773326", "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-19 22:59:56.539434", "msg": "", "rc": 0, "start": "2025-12-19 22:59:56.536475", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012895", "end": "2025-12-19 23:00:32.952095", "msg": "", "rc": 0, "start": "2025-12-19 23:00:32.939200", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011842", "end": "2025-12-19 23:00:32.982244", "msg": "", "rc": 0, "start": "2025-12-19 23:00:32.970402", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029248", "end": "2025-12-19 23:00:33.043308", "msg": "", "rc": 0, "start": "2025-12-19 23:00:33.014060", "stderr": "", "stderr_lines": [], "stdout": "33.7°C", "stdout_lines": ["33.7°C"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002508", "end": "2025-12-19 23:00:07.234950", "msg": "", "rc": 0, "start": "2025-12-19 23:00:07.232442", "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.002928", "end": "2025-12-19 22:59:59.922068", "msg": "", "rc": 0, "start": "2025-12-19 22:59:59.919140", "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.003903", "end": "2025-12-19 20:00:33.699869", "msg": "", "rc": 0, "start": "2025-12-19 20:00:33.695966", "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.015556", "end": "2025-12-19 23:00:34.303212", "msg": "", "rc": 0, "start": "2025-12-19 23:00:34.287656", "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.004140", "end": "2025-12-19 23:00:34.910059", "msg": "", "rc": 0, "start": "2025-12-19 23:00:34.905919", "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.004545", "end": "2025-12-19 23:00:34.990631", "msg": "", "rc": 0, "start": "2025-12-19 23:00:34.986086", "stderr": "", "stderr_lines": [], "stdout": "0.86", "stdout_lines": ["0.86"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005732", "end": "2025-12-19 23:00:35.054291", "msg": "", "rc": 0, "start": "2025-12-19 23:00:35.048559", "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.005318", "end": "2025-12-19 23:00:35.067815", "msg": "", "rc": 0, "start": "2025-12-19 23:00:35.062497", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.004488", "end": "2025-12-19 23:00:06.834641", "msg": "", "rc": 0, "start": "2025-12-19 23:00:06.830153", "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.011005", "end": "2025-12-19 23:00:35.871281", "msg": "", "rc": 0, "start": "2025-12-19 23:00:35.860276", "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.005374", "end": "2025-12-19 22:59:59.628066", "msg": "", "rc": 0, "start": "2025-12-19 22:59:59.622692", "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.010057", "end": "2025-12-19 23:00:35.901766", "msg": "", "rc": 0, "start": "2025-12-19 23:00:35.891709", "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.024768", "end": "2025-12-19 23:00:36.186634", "msg": "", "rc": 0, "start": "2025-12-19 23:00:36.161866", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.004216", "end": "2025-12-19 23:00:10.294883", "msg": "", "rc": 0, "start": "2025-12-19 23:00:10.290667", "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.006163", "end": "2025-12-19 20:00:36.652843", "msg": "", "rc": 0, "start": "2025-12-19 20:00:36.646680", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
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.005437", "end": "2025-12-19 23:00:03.016981", "msg": "", "rc": 0, "start": "2025-12-19 23:00:03.011544", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.030902", "end": "2025-12-19 23:00:37.620091", "msg": "", "rc": 0, "start": "2025-12-19 23:00:37.589189", "stderr": "", "stderr_lines": [], "stdout": "2.27", "stdout_lines": ["2.27"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:23 up 24 days, 9:51, 1 user, load average: 0.37, 0.26, 0.20\nDisk Usage: 23%\nMemory Usage: 76.9%\nCPU Load: 0.38\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:23 up 24 days, 10:11, 1 user, load average: 0.64, 0.87, 0.78\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.86\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:23 up 24 days, 11:24, 1 user, load average: 0.80, 0.66, 0.65\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 1.03\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:23 up 24 days, 12:10, 1 user, load average: 0.43, 0.13, 0.04\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:24 up 17 days, 12:27, 1 user, load average: 0.21, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.26\nCPU Temp: 33.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:24 up 196 days, 14:33, 1 user, load average: 0.21, 0.27, 0.27\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.34\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:24 up 196 days, 14:33, 1 user, load average: 0.20, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.17\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:59:54 up 13 days, 10:49, 0 user, load average: 0.14, 0.13, 0.16\nDisk Usage: 50%\nMemory Usage: 70.7%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:59:48 up 20 days, 7:01, 0 user, load average: 0.07, 0.03, 0.02\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:59:51 up 23 days, 1:54, 0 user, load average: 0.26, 0.38, 0.38\nDisk Usage: 28%\nMemory Usage: 27.9%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:59:58 up 19 days, 12:15, 0 user, load average: 0.45, 0.40, 0.42\nDisk Usage: 76%\nMemory Usage: 56.6%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:00PM up 24 days, 9:50, 1 user, load averages: 0.14, 0.19, 0.17\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:00:27 up 9:44, 1 user, load average: 1.77, 1.41, 1.29\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 2.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=0 changed=0 unreachable=1 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=0 changed=0 unreachable=1 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-20T04:00:40.507006+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0b45fe9dd44a432dae38f704aabaa67b` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:05:00.008608+00:00 |
| **Fin** | 2025-12-20T04:05:26.619025+00:00 |
| **Durée** | 26.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: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003628", "end": "2025-12-19 23:05:11.348337", "msg": "", "rc": 0, "start": "2025-12-19 23:05:11.344709", "stderr": "", "stderr_lines": [], "stdout": " 23:05:11 up 24 days, 12:15, 1 user, load average: 0.04, 0.11, 0.05", "stdout_lines": [" 23:05:11 up 24 days, 12:15, 1 user, load average: 0.04, 0.11, 0.05"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003389", "end": "2025-12-19 23:05:11.355360", "msg": "", "rc": 0, "start": "2025-12-19 23:05:11.351971", "stderr": "", "stderr_lines": [], "stdout": " 23:05:11 up 24 days, 10:16, 1 user, load average: 0.91, 0.90, 0.82", "stdout_lines": [" 23:05:11 up 24 days, 10:16, 1 user, load average: 0.91, 0.90, 0.82"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003766", "end": "2025-12-19 23:05:11.358743", "msg": "", "rc": 0, "start": "2025-12-19 23:05:11.354977", "stderr": "", "stderr_lines": [], "stdout": " 23:05:11 up 24 days, 11:29, 1 user, load average: 0.63, 0.74, 0.69", "stdout_lines": [" 23:05:11 up 24 days, 11:29, 1 user, load average: 0.63, 0.74, 0.69"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005787", "end": "2025-12-19 23:05:11.374544", "msg": "", "rc": 0, "start": "2025-12-19 23:05:11.368757", "stderr": "", "stderr_lines": [], "stdout": " 23:05:11 up 5 min, 1 user, load average: 0.53, 0.65, 0.33", "stdout_lines": [" 23:05:11 up 5 min, 1 user, load average: 0.53, 0.65, 0.33"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002955", "end": "2025-12-19 23:04:42.915584", "msg": "", "rc": 0, "start": "2025-12-19 23:04:42.912629", "stderr": "", "stderr_lines": [], "stdout": " 23:04:42 up 13 days, 10:54, 0 user, load average: 0.50, 0.20, 0.17", "stdout_lines": [" 23:04:42 up 13 days, 10:54, 0 user, load average: 0.50, 0.20, 0.17"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008797", "end": "2025-12-19 23:05:12.034295", "msg": "", "rc": 0, "start": "2025-12-19 23:05:12.025498", "stderr": "", "stderr_lines": [], "stdout": " 23:05:12 up 196 days, 14:38, 1 user, load average: 0.29, 0.17, 0.11", "stdout_lines": [" 23:05:12 up 196 days, 14:38, 1 user, load average: 0.29, 0.17, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009223", "end": "2025-12-19 23:05:12.074771", "msg": "", "rc": 0, "start": "2025-12-19 23:05:12.065548", "stderr": "", "stderr_lines": [], "stdout": " 23:05:12 up 196 days, 14:38, 1 user, load average: 0.56, 0.37, 0.30", "stdout_lines": [" 23:05:12 up 196 days, 14:38, 1 user, load average: 0.56, 0.37, 0.30"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004395", "end": "2025-12-19 23:05:12.331610", "msg": "", "rc": 0, "start": "2025-12-19 23:05:11.327215", "stderr": "", "stderr_lines": [], "stdout": " 23:05:11 up 24 days, 9:56, 1 user, load average: 0.36, 0.29, 0.21", "stdout_lines": [" 23:05:11 up 24 days, 9:56, 1 user, load average: 0.36, 0.29, 0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003529", "end": "2025-12-19 23:04:36.134850", "msg": "", "rc": 0, "start": "2025-12-19 23:04:36.131321", "stderr": "", "stderr_lines": [], "stdout": " 23:04:36 up 20 days, 7:06, 0 user, load average: 0.02, 0.03, 0.00", "stdout_lines": [" 23:04:36 up 20 days, 7:06, 0 user, load average: 0.02, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008666", "end": "2025-12-19 23:05:12.534708", "msg": "", "rc": 0, "start": "2025-12-19 23:05:12.526042", "stderr": "", "stderr_lines": [], "stdout": " 23:05:12 up 4 min, 1 user, load average: 0.27, 0.77, 0.39", "stdout_lines": [" 23:05:12 up 4 min, 1 user, load average: 0.27, 0.77, 0.39"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003420", "end": "2025-12-19 23:04:39.015563", "msg": "", "rc": 0, "start": "2025-12-19 23:04:39.012143", "stderr": "", "stderr_lines": [], "stdout": " 23:04:39 up 23 days, 1:58, 0 user, load average: 0.43, 0.46, 0.41", "stdout_lines": [" 23:04:39 up 23 days, 1:58, 0 user, load average: 0.43, 0.46, 0.41"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002777", "end": "2025-12-19 23:04:46.461099", "msg": "", "rc": 0, "start": "2025-12-19 23:04:46.458322", "stderr": "", "stderr_lines": [], "stdout": " 23:04:46 up 19 days, 12:20, 0 user, load average: 0.20, 0.30, 0.36", "stdout_lines": [" 23:04:46 up 19 days, 12:20, 0 user, load average: 0.20, 0.30, 0.36"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004201", "end": "2025-12-19 20:05:12.897936", "msg": "", "rc": 0, "start": "2025-12-19 20:05:12.893735", "stderr": "", "stderr_lines": [], "stdout": " 8:05PM up 24 days, 9:55, 1 user, load averages: 0.18, 0.27, 0.21", "stdout_lines": [" 8:05PM up 24 days, 9:55, 1 user, load averages: 0.18, 0.27, 0.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020370", "end": "2025-12-19 23:05:12.768678", "msg": "", "rc": 0, "start": "2025-12-19 23:05:12.748308", "stderr": "", "stderr_lines": [], "stdout": " 23:05:12 up 17 days, 12:31, 1 user, load average: 0.16, 0.12, 0.10", "stdout_lines": [" 23:05:12 up 17 days, 12:31, 1 user, load average: 0.16, 0.12, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006777", "end": "2025-12-19 23:05:14.632258", "msg": "", "rc": 0, "start": "2025-12-19 23:05:14.625481", "stderr": "", "stderr_lines": [], "stdout": " 23:05:14 up 9:50, 1 user, load average: 1.28, 1.34, 1.31", "stdout_lines": [" 23:05:14 up 9:50, 1 user, load average: 1.28, 1.34, 1.31"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007039", "end": "2025-12-19 23:05:13.032161", "msg": "", "rc": 0, "start": "2025-12-19 23:05:13.025122", "stderr": "", "stderr_lines": [], "stdout": " 23:05:13 up 4 min, 1 user, load average: 0.13, 0.52, 0.28", "stdout_lines": [" 23:05:13 up 4 min, 1 user, load average: 0.13, 0.52, 0.28"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004246", "end": "2025-12-19 23:05:13.482935", "msg": "", "rc": 0, "start": "2025-12-19 23:05:13.478689", "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.006337", "end": "2025-12-19 23:05:13.491413", "msg": "", "rc": 0, "start": "2025-12-19 23:05:13.485076", "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.004452", "end": "2025-12-19 23:05:13.516550", "msg": "", "rc": 0, "start": "2025-12-19 23:05:13.512098", "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.005002", "end": "2025-12-19 23:05:13.541422", "msg": "", "rc": 0, "start": "2025-12-19 23:05:13.536420", "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.005603", "end": "2025-12-19 23:05:13.552804", "msg": "", "rc": 0, "start": "2025-12-19 23:05:13.547201", "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.004723", "end": "2025-12-19 23:04:45.054326", "msg": "", "rc": 0, "start": "2025-12-19 23:04:45.049603", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005236", "end": "2025-12-19 23:04:37.820625", "msg": "", "rc": 0, "start": "2025-12-19 23:04:37.815389", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011050", "end": "2025-12-19 23:05:14.252282", "msg": "", "rc": 0, "start": "2025-12-19 23:05:14.241232", "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.011600", "end": "2025-12-19 23:05:14.292055", "msg": "", "rc": 0, "start": "2025-12-19 23:05:14.280455", "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.006650", "end": "2025-12-19 23:05:14.479980", "msg": "", "rc": 0, "start": "2025-12-19 23:05:14.473330", "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.005400", "end": "2025-12-19 23:04:40.987552", "msg": "", "rc": 0, "start": "2025-12-19 23:04:40.982152", "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.005444", "end": "2025-12-19 20:05:14.744056", "msg": "", "rc": 0, "start": "2025-12-19 20:05:14.738612", "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.004431", "end": "2025-12-19 23:04:48.429193", "msg": "", "rc": 0, "start": "2025-12-19 23:04:48.424762", "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.005793", "end": "2025-12-19 23:05:14.907102", "msg": "", "rc": 0, "start": "2025-12-19 23:05:14.901309", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008027", "end": "2025-12-19 23:05:16.765643", "msg": "", "rc": 0, "start": "2025-12-19 23:05:16.757616", "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.029166", "end": "2025-12-19 23:05:15.137855", "msg": "", "rc": 0, "start": "2025-12-19 23:05:15.108689", "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.004194", "end": "2025-12-19 23:05:15.827479", "msg": "", "rc": 0, "start": "2025-12-19 23:05:15.823285", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.005221", "end": "2025-12-19 23:05:15.872345", "msg": "", "rc": 0, "start": "2025-12-19 23:05:15.867124", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007215", "end": "2025-12-19 23:05:15.867210", "msg": "", "rc": 0, "start": "2025-12-19 23:05:15.859995", "stderr": "", "stderr_lines": [], "stdout": "14.3%", "stdout_lines": ["14.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.004524", "end": "2025-12-19 23:05:15.898016", "msg": "", "rc": 0, "start": "2025-12-19 23:05:15.893492", "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.006101", "end": "2025-12-19 23:05:15.913523", "msg": "", "rc": 0, "start": "2025-12-19 23:05:15.907422", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003529", "end": "2025-12-19 23:04:47.638158", "msg": "", "rc": 0, "start": "2025-12-19 23:04:47.634629", "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.004609", "end": "2025-12-19 23:04:40.415518", "msg": "", "rc": 0, "start": "2025-12-19 23:04:40.410909", "stderr": "", "stderr_lines": [], "stdout": "65.5%", "stdout_lines": ["65.5%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011830", "end": "2025-12-19 23:05:16.735618", "msg": "", "rc": 0, "start": "2025-12-19 23:05:16.723788", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.013487", "end": "2025-12-19 23:05:16.755159", "msg": "", "rc": 0, "start": "2025-12-19 23:05:16.741672", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009011", "end": "2025-12-19 23:05:17.355583", "msg": "", "rc": 0, "start": "2025-12-19 23:05:17.346572", "stderr": "", "stderr_lines": [], "stdout": "51.0%", "stdout_lines": ["51.0%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003528", "end": "2025-12-19 23:04:51.206974", "msg": "", "rc": 0, "start": "2025-12-19 23:04:51.203446", "stderr": "", "stderr_lines": [], "stdout": "54.7%", "stdout_lines": ["54.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.005352", "end": "2025-12-19 20:05:17.538553", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:05:17.533201", "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.004409", "end": "2025-12-19 23:04:43.883621", "msg": "", "rc": 0, "start": "2025-12-19 23:04:43.879212", "stderr": "", "stderr_lines": [], "stdout": "28.1%", "stdout_lines": ["28.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.026706", "end": "2025-12-19 23:05:17.424983", "msg": "", "rc": 0, "start": "2025-12-19 23:05:17.398277", "stderr": "", "stderr_lines": [], "stdout": "19.0%", "stdout_lines": ["19.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.008398", "end": "2025-12-19 23:05:18.018873", "msg": "", "rc": 0, "start": "2025-12-19 23:05:18.010475", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.009451", "end": "2025-12-19 23:05:20.403164", "msg": "", "rc": 0, "start": "2025-12-19 23:05:20.393713", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.6%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004865", "end": "2025-12-19 23:05:18.909281", "msg": "", "rc": 0, "start": "2025-12-19 23:05:18.904416", "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.005330", "end": "2025-12-19 23:05:18.918905", "msg": "", "rc": 0, "start": "2025-12-19 23:05:18.913575", "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.005657", "end": "2025-12-19 23:05:18.930505", "msg": "", "rc": 0, "start": "2025-12-19 23:05:18.924848", "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.003410", "end": "2025-12-19 23:05:18.967064", "msg": "", "rc": 0, "start": "2025-12-19 23:05:18.963654", "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.006975", "end": "2025-12-19 23:05:18.978353", "msg": "", "rc": 0, "start": "2025-12-19 23:05:18.971378", "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.002703", "end": "2025-12-19 23:04:50.628293", "msg": "", "rc": 0, "start": "2025-12-19 23:04:50.625590", "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.004213", "end": "2025-12-19 23:04:43.414811", "msg": "", "rc": 0, "start": "2025-12-19 23:04:43.410598", "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.011654", "end": "2025-12-19 23:05:19.852723", "msg": "", "rc": 0, "start": "2025-12-19 23:05:19.841069", "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.012859", "end": "2025-12-19 23:05:19.871859", "msg": "", "rc": 0, "start": "2025-12-19 23:05:19.859000", "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.003035", "end": "2025-12-19 23:05:20.044632", "msg": "", "rc": 0, "start": "2025-12-19 23:05:20.041597", "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.003175", "end": "2025-12-19 23:04:46.608008", "msg": "", "rc": 0, "start": "2025-12-19 23:04:46.604833", "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.003962", "end": "2025-12-19 20:05:20.327993", "msg": "", "rc": 0, "start": "2025-12-19 20:05:20.324031", "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.002676", "end": "2025-12-19 23:04:54.024956", "msg": "", "rc": 0, "start": "2025-12-19 23:04:54.022280", "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.003014", "end": "2025-12-19 23:05:20.471428", "msg": "", "rc": 0, "start": "2025-12-19 23:05:20.468414", "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.029475", "end": "2025-12-19 23:05:20.413788", "msg": "", "rc": 0, "start": "2025-12-19 23:05:20.384313", "stderr": "", "stderr_lines": [], "stdout": "34.3°C", "stdout_lines": ["34.3°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.004627", "end": "2025-12-19 23:05:23.250807", "msg": "", "rc": 0, "start": "2025-12-19 23:05:23.246180", "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.004155", "end": "2025-12-19 23:05:21.258531", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.254376", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004756", "end": "2025-12-19 23:05:21.263337", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.258581", "stderr": "", "stderr_lines": [], "stdout": "0.92", "stdout_lines": ["0.92"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004143", "end": "2025-12-19 23:05:21.271160", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.267017", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005387", "end": "2025-12-19 23:05:21.306909", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.301522", "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.005623", "end": "2025-12-19 23:05:21.356103", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.350480", "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.005140", "end": "2025-12-19 23:04:52.832448", "msg": "", "rc": 0, "start": "2025-12-19 23:04:52.827308", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.005494", "end": "2025-12-19 23:04:45.629560", "msg": "", "rc": 0, "start": "2025-12-19 23:04:45.624066", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010013", "end": "2025-12-19 23:05:21.951720", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.941707", "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.011204", "end": "2025-12-19 23:05:21.999937", "msg": "", "rc": 0, "start": "2025-12-19 23:05:21.988733", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.007543", "end": "2025-12-19 23:05:22.242626", "msg": "", "rc": 0, "start": "2025-12-19 23:05:22.235083", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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.004147", "end": "2025-12-19 23:04:56.125088", "msg": "", "rc": 0, "start": "2025-12-19 23:04:56.120941", "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.005782", "end": "2025-12-19 20:05:22.462165", "msg": "", "rc": 0, "start": "2025-12-19 20:05:22.456383", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
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.005239", "end": "2025-12-19 23:04:48.837143", "msg": "", "rc": 0, "start": "2025-12-19 23:04:48.831904", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005308", "end": "2025-12-19 23:05:22.669621", "msg": "", "rc": 0, "start": "2025-12-19 23:05:22.664313", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.025077", "end": "2025-12-19 23:05:22.648454", "msg": "", "rc": 0, "start": "2025-12-19 23:05:22.623377", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.007772", "end": "2025-12-19 23:05:25.424452", "msg": "", "rc": 0, "start": "2025-12-19 23:05:25.416680", "stderr": "", "stderr_lines": [], "stdout": "1.60", "stdout_lines": ["1.60"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:11 up 5 min, 1 user, load average: 0.53, 0.65, 0.33\nDisk Usage: 22%\nMemory Usage: 14.3%\nCPU Load: 0.44\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:11 up 24 days, 9:56, 1 user, load average: 0.36, 0.29, 0.21\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.46\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:11 up 24 days, 10:16, 1 user, load average: 0.91, 0.90, 0.82\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.92\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:11 up 24 days, 11:29, 1 user, load average: 0.63, 0.74, 0.69\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.70\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:11 up 24 days, 12:15, 1 user, load average: 0.04, 0.11, 0.05\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:12 up 17 days, 12:31, 1 user, load average: 0.16, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 19.0%\nCPU Load: 0.21\nCPU Temp: 34.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:12 up 196 days, 14:38, 1 user, load average: 0.56, 0.37, 0.30\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.54\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:12 up 196 days, 14:38, 1 user, load average: 0.29, 0.17, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.32\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:04:42 up 13 days, 10:54, 0 user, load average: 0.50, 0.20, 0.17\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:04:36 up 20 days, 7:06, 0 user, load average: 0.02, 0.03, 0.00\nDisk Usage: 25%\nMemory Usage: 65.5%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:12 up 4 min, 1 user, load average: 0.27, 0.77, 0.39\nDisk Usage: 1%\nMemory Usage: 51.0%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:04:39 up 23 days, 1:58, 0 user, load average: 0.43, 0.46, 0.41\nDisk Usage: 28%\nMemory Usage: 28.1%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:04:46 up 19 days, 12:20, 0 user, load average: 0.20, 0.30, 0.36\nDisk Usage: 76%\nMemory Usage: 54.7%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:05PM up 24 days, 9:55, 1 user, load averages: 0.18, 0.27, 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: 23:05:13 up 4 min, 1 user, load average: 0.13, 0.52, 0.28\nDisk Usage: 79%\nMemory Usage: 12.8%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:05:14 up 9:50, 1 user, load average: 1.28, 1.34, 1.31\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T04:05:26.704812+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1a140b54d80644d2a8e5335256b05aea` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:15:00.007532+00:00 |
| **Fin** | 2025-12-20T04:15:21.515282+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003204", "end": "2025-12-19 23:15:10.567383", "msg": "", "rc": 0, "start": "2025-12-19 23:15:10.564179", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 24 days, 10:06, 1 user, load average: 0.30, 0.33, 0.27", "stdout_lines": [" 23:15:10 up 24 days, 10:06, 1 user, load average: 0.30, 0.33, 0.27"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003596", "end": "2025-12-19 23:15:10.580643", "msg": "", "rc": 0, "start": "2025-12-19 23:15:10.577047", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 24 days, 12:25, 1 user, load average: 0.05, 0.08, 0.05", "stdout_lines": [" 23:15:10 up 24 days, 12:25, 1 user, load average: 0.05, 0.08, 0.05"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003561", "end": "2025-12-19 23:15:10.577356", "msg": "", "rc": 0, "start": "2025-12-19 23:15:10.573795", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 24 days, 10:26, 1 user, load average: 0.98, 0.93, 0.86", "stdout_lines": [" 23:15:10 up 24 days, 10:26, 1 user, load average: 0.98, 0.93, 0.86"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004038", "end": "2025-12-19 23:15:10.601959", "msg": "", "rc": 0, "start": "2025-12-19 23:15:10.597921", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 24 days, 11:39, 1 user, load average: 0.99, 0.78, 0.73", "stdout_lines": [" 23:15:10 up 24 days, 11:39, 1 user, load average: 0.99, 0.78, 0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002798", "end": "2025-12-19 23:15:10.606958", "msg": "", "rc": 0, "start": "2025-12-19 23:15:10.604160", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 15 min, 1 user, load average: 0.58, 0.43, 0.35", "stdout_lines": [" 23:15:10 up 15 min, 1 user, load average: 0.58, 0.43, 0.35"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003045", "end": "2025-12-19 23:14:42.115249", "msg": "", "rc": 0, "start": "2025-12-19 23:14:42.112204", "stderr": "", "stderr_lines": [], "stdout": " 23:14:42 up 13 days, 11:04, 0 user, load average: 0.13, 0.14, 0.15", "stdout_lines": [" 23:14:42 up 13 days, 11:04, 0 user, load average: 0.13, 0.14, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003524", "end": "2025-12-19 23:14:34.844366", "msg": "", "rc": 0, "start": "2025-12-19 23:14:34.840842", "stderr": "", "stderr_lines": [], "stdout": " 23:14:34 up 20 days, 7:16, 0 user, load average: 0.08, 0.06, 0.01", "stdout_lines": [" 23:14:34 up 20 days, 7:16, 0 user, load average: 0.08, 0.06, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008391", "end": "2025-12-19 23:15:11.263714", "msg": "", "rc": 0, "start": "2025-12-19 23:15:11.255323", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 196 days, 14:48, 1 user, load average: 0.19, 0.15, 0.10", "stdout_lines": [" 23:15:11 up 196 days, 14:48, 1 user, load average: 0.19, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009225", "end": "2025-12-19 23:15:11.303185", "msg": "", "rc": 0, "start": "2025-12-19 23:15:11.293960", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 196 days, 14:48, 1 user, load average: 0.23, 0.26, 0.27", "stdout_lines": [" 23:15:11 up 196 days, 14:48, 1 user, load average: 0.23, 0.26, 0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004542", "end": "2025-12-19 23:15:11.537889", "msg": "", "rc": 0, "start": "2025-12-19 23:15:11.533347", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 14 min, 1 user, load average: 0.00, 0.11, 0.20", "stdout_lines": [" 23:15:11 up 14 min, 1 user, load average: 0.00, 0.11, 0.20"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003318", "end": "2025-12-19 23:14:38.028699", "msg": "", "rc": 0, "start": "2025-12-19 23:14:38.025381", "stderr": "", "stderr_lines": [], "stdout": " 23:14:38 up 23 days, 2:08, 0 user, load average: 0.47, 0.48, 0.44", "stdout_lines": [" 23:14:38 up 23 days, 2:08, 0 user, load average: 0.47, 0.48, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003168", "end": "2025-12-19 23:14:45.425334", "msg": "", "rc": 0, "start": "2025-12-19 23:14:45.422166", "stderr": "", "stderr_lines": [], "stdout": " 23:14:45 up 19 days, 12:30, 0 user, load average: 0.60, 0.60, 0.47", "stdout_lines": [" 23:14:45 up 19 days, 12:30, 0 user, load average: 0.60, 0.60, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004328", "end": "2025-12-19 20:15:11.773293", "msg": "", "rc": 0, "start": "2025-12-19 20:15:11.768965", "stderr": "", "stderr_lines": [], "stdout": " 8:15PM up 24 days, 10:04, 1 user, load averages: 0.20, 0.25, 0.23", "stdout_lines": [" 8:15PM up 24 days, 10:04, 1 user, load averages: 0.20, 0.25, 0.23"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004089", "end": "2025-12-19 23:15:11.985167", "msg": "", "rc": 0, "start": "2025-12-19 23:15:11.981078", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 14 min, 1 user, load average: 0.15, 0.11, 0.15", "stdout_lines": [" 23:15:11 up 14 min, 1 user, load average: 0.15, 0.11, 0.15"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010338", "end": "2025-12-19 23:15:14.881782", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.871444", "stderr": "", "stderr_lines": [], "stdout": " 23:15:14 up 10:01, 1 user, load average: 1.78, 1.38, 1.31", "stdout_lines": [" 23:15:14 up 10:01, 1 user, load average: 1.78, 1.38, 1.31"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020020", "end": "2025-12-19 23:15:11.969410", "msg": "", "rc": 0, "start": "2025-12-19 23:15:11.949390", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 17 days, 12:41, 1 user, load average: 0.23, 0.10, 0.09", "stdout_lines": [" 23:15:11 up 17 days, 12:41, 1 user, load average: 0.23, 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.004096", "end": "2025-12-19 23:15:12.501297", "msg": "", "rc": 0, "start": "2025-12-19 23:15:12.497201", "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.004087", "end": "2025-12-19 23:15:12.516203", "msg": "", "rc": 0, "start": "2025-12-19 23:15:12.512116", "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.004729", "end": "2025-12-19 23:15:12.546288", "msg": "", "rc": 0, "start": "2025-12-19 23:15:12.541559", "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.005600", "end": "2025-12-19 23:15:12.535475", "msg": "", "rc": 0, "start": "2025-12-19 23:15:12.529875", "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.005750", "end": "2025-12-19 23:15:12.568112", "msg": "", "rc": 0, "start": "2025-12-19 23:15:12.562362", "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.005003", "end": "2025-12-19 23:14:44.063586", "msg": "", "rc": 0, "start": "2025-12-19 23:14:44.058583", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005676", "end": "2025-12-19 23:14:36.818832", "msg": "", "rc": 0, "start": "2025-12-19 23:14:36.813156", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011591", "end": "2025-12-19 23:15:13.279171", "msg": "", "rc": 0, "start": "2025-12-19 23:15:13.267580", "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.010623", "end": "2025-12-19 23:15:13.344968", "msg": "", "rc": 0, "start": "2025-12-19 23:15:13.334345", "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.005549", "end": "2025-12-19 23:15:13.506981", "msg": "", "rc": 0, "start": "2025-12-19 23:15:13.501432", "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.005233", "end": "2025-12-19 23:14:40.014255", "msg": "", "rc": 0, "start": "2025-12-19 23:14:40.009022", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005469", "end": "2025-12-19 20:15:13.794625", "msg": "", "rc": 0, "start": "2025-12-19 20:15:13.789156", "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.005170", "end": "2025-12-19 23:14:47.474663", "msg": "", "rc": 0, "start": "2025-12-19 23:14:47.469493", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-19 23:15:13.943912", "msg": "", "rc": 0, "start": "2025-12-19 23:15:13.938561", "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.026111", "end": "2025-12-19 23:15:13.900835", "msg": "", "rc": 0, "start": "2025-12-19 23:15:13.874724", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023116", "end": "2025-12-19 23:15:14.197887", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.174771", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004291", "end": "2025-12-19 23:15:14.455102", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.450811", "stderr": "", "stderr_lines": [], "stdout": "76.9%", "stdout_lines": ["76.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.004189", "end": "2025-12-19 23:15:14.474018", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.469829", "stderr": "", "stderr_lines": [], "stdout": "14.9%", "stdout_lines": ["14.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.005038", "end": "2025-12-19 23:15:14.505394", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.500356", "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.004490", "end": "2025-12-19 23:15:14.511581", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.507091", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005517", "end": "2025-12-19 23:15:14.520067", "msg": "", "rc": 0, "start": "2025-12-19 23:15:14.514550", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003868", "end": "2025-12-19 23:14:46.073253", "msg": "", "rc": 0, "start": "2025-12-19 23:14:46.069385", "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.004490", "end": "2025-12-19 23:14:38.775157", "msg": "", "rc": 0, "start": "2025-12-19 23:14:38.770667", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.010771", "end": "2025-12-19 23:15:15.184819", "msg": "", "rc": 0, "start": "2025-12-19 23:15:15.174048", "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.011882", "end": "2025-12-19 23:15:15.187387", "msg": "", "rc": 0, "start": "2025-12-19 23:15:15.175505", "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.005711", "end": "2025-12-19 23:15:15.501815", "msg": "", "rc": 0, "start": "2025-12-19 23:15:15.496104", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.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.004314", "end": "2025-12-19 23:14:41.959553", "msg": "", "rc": 0, "start": "2025-12-19 23:14:41.955239", "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.005173", "end": "2025-12-19 20:15:15.779260", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:15:15.774087", "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.003878", "end": "2025-12-19 23:14:49.480860", "msg": "", "rc": 0, "start": "2025-12-19 23:14:49.476982", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.010170", "end": "2025-12-19 23:15:16.286007", "msg": "", "rc": 0, "start": "2025-12-19 23:15:16.275837", "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.005472", "end": "2025-12-19 23:15:15.940230", "msg": "", "rc": 0, "start": "2025-12-19 23:15:15.934758", "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.026484", "end": "2025-12-19 23:15:15.854389", "msg": "", "rc": 0, "start": "2025-12-19 23:15:15.827905", "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.005946", "end": "2025-12-19 23:15:16.406970", "msg": "", "rc": 0, "start": "2025-12-19 23:15:16.401024", "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.004841", "end": "2025-12-19 23:15:16.411718", "msg": "", "rc": 0, "start": "2025-12-19 23:15:16.406877", "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.005566", "end": "2025-12-19 23:15:16.421022", "msg": "", "rc": 0, "start": "2025-12-19 23:15:16.415456", "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.002771", "end": "2025-12-19 23:15:16.441059", "msg": "", "rc": 0, "start": "2025-12-19 23:15:16.438288", "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.006482", "end": "2025-12-19 23:15:16.451385", "msg": "", "rc": 0, "start": "2025-12-19 23:15:16.444903", "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.002782", "end": "2025-12-19 23:14:47.954349", "msg": "", "rc": 0, "start": "2025-12-19 23:14:47.951567", "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.002922", "end": "2025-12-19 23:14:40.690745", "msg": "", "rc": 0, "start": "2025-12-19 23:14:40.687823", "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.011939", "end": "2025-12-19 23:15:17.102303", "msg": "", "rc": 0, "start": "2025-12-19 23:15:17.090364", "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.013350", "end": "2025-12-19 23:15:17.148030", "msg": "", "rc": 0, "start": "2025-12-19 23:15:17.134680", "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.003038", "end": "2025-12-19 23:15:17.373018", "msg": "", "rc": 0, "start": "2025-12-19 23:15:17.369980", "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.003175", "end": "2025-12-19 23:14:43.871852", "msg": "", "rc": 0, "start": "2025-12-19 23:14:43.868677", "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.002744", "end": "2025-12-19 23:14:51.267474", "msg": "", "rc": 0, "start": "2025-12-19 23:14:51.264730", "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-19 20:15:17.609240", "msg": "", "rc": 0, "start": "2025-12-19 20:15:17.605363", "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.003023", "end": "2025-12-19 23:15:17.812608", "msg": "", "rc": 0, "start": "2025-12-19 23:15:17.809585", "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.005518", "end": "2025-12-19 23:15:18.389286", "msg": "", "rc": 0, "start": "2025-12-19 23:15:18.383768", "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.028822", "end": "2025-12-19 23:15:17.805055", "msg": "", "rc": 0, "start": "2025-12-19 23:15:17.776233", "stderr": "", "stderr_lines": [], "stdout": "34.1°C", "stdout_lines": ["34.1°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004060", "end": "2025-12-19 23:15:18.360585", "msg": "", "rc": 0, "start": "2025-12-19 23:15:18.356525", "stderr": "", "stderr_lines": [], "stdout": "0.78", "stdout_lines": ["0.78"]}
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.004120", "end": "2025-12-19 23:15:18.364574", "msg": "", "rc": 0, "start": "2025-12-19 23:15:18.360454", "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.004910", "end": "2025-12-19 23:15:18.388611", "msg": "", "rc": 0, "start": "2025-12-19 23:15:18.383701", "stderr": "", "stderr_lines": [], "stdout": "1.15", "stdout_lines": ["1.15"]}
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.005338", "end": "2025-12-19 23:15:18.399575", "msg": "", "rc": 0, "start": "2025-12-19 23:15:18.394237", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005496", "end": "2025-12-19 23:15:18.418255", "msg": "", "rc": 0, "start": "2025-12-19 23:15:18.412759", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004662", "end": "2025-12-19 23:14:49.917059", "msg": "", "rc": 0, "start": "2025-12-19 23:14:49.912397", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005309", "end": "2025-12-19 23:14:42.664985", "msg": "", "rc": 0, "start": "2025-12-19 23:14:42.659676", "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.010272", "end": "2025-12-19 23:15:19.150026", "msg": "", "rc": 0, "start": "2025-12-19 23:15:19.139754", "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.011073", "end": "2025-12-19 23:15:19.183454", "msg": "", "rc": 0, "start": "2025-12-19 23:15:19.172381", "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.005520", "end": "2025-12-19 23:15:19.347021", "msg": "", "rc": 0, "start": "2025-12-19 23:15:19.341501", "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.004770", "end": "2025-12-19 23:14:45.844686", "msg": "", "rc": 0, "start": "2025-12-19 23:14:45.839916", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.005945", "end": "2025-12-19 20:15:19.646092", "msg": "", "rc": 0, "start": "2025-12-19 20:15:19.640147", "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.004198", "end": "2025-12-19 23:14:53.320656", "msg": "", "rc": 0, "start": "2025-12-19 23:14:53.316458", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.005527", "end": "2025-12-19 23:15:19.775679", "msg": "", "rc": 0, "start": "2025-12-19 23:15:19.770152", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011047", "end": "2025-12-19 23:15:20.541388", "msg": "", "rc": 0, "start": "2025-12-19 23:15:20.530341", "stderr": "", "stderr_lines": [], "stdout": "2.05", "stdout_lines": ["2.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.025041", "end": "2025-12-19 23:15:19.762068", "msg": "", "rc": 0, "start": "2025-12-19 23:15:19.737027", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 24 days, 10:06, 1 user, load average: 0.30, 0.33, 0.27\nDisk Usage: 23%\nMemory Usage: 76.9%\nCPU Load: 0.33\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 15 min, 1 user, load average: 0.58, 0.43, 0.35\nDisk Usage: 22%\nMemory Usage: 14.9%\nCPU Load: 0.78\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 24 days, 10:26, 1 user, load average: 0.98, 0.93, 0.86\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.15\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 24 days, 11:39, 1 user, load average: 0.99, 0.78, 0.73\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.91\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 24 days, 12:25, 1 user, load average: 0.05, 0.08, 0.05\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:11 up 17 days, 12:41, 1 user, load average: 0.23, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.43\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:11 up 196 days, 14:48, 1 user, load average: 0.23, 0.26, 0.27\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.20\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:11 up 196 days, 14:48, 1 user, load average: 0.19, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.17\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:42 up 13 days, 11:04, 0 user, load average: 0.13, 0.14, 0.15\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:34 up 20 days, 7:16, 0 user, load average: 0.08, 0.06, 0.01\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:11 up 14 min, 1 user, load average: 0.00, 0.11, 0.20\nDisk Usage: 1%\nMemory Usage: 21.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:38 up 23 days, 2:08, 0 user, load average: 0.47, 0.48, 0.44\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:45 up 19 days, 12:30, 0 user, load average: 0.60, 0.60, 0.47\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.65\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:15PM up 24 days, 10:04, 1 user, load averages: 0.20, 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: 23:15:11 up 14 min, 1 user, load average: 0.15, 0.11, 0.15\nDisk Usage: 79%\nMemory Usage: 12.9%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:14 up 10:01, 1 user, load average: 1.78, 1.38, 1.31\nDisk Usage: 1%\nMemory Usage: 13.1%\nCPU Load: 2.05\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-20T04:15:21.578237+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `c2ad1dde0e0442bbb4abfe144a45d304` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:20:00.001017+00:00 |
| **Fin** | 2025-12-20T04:20:22.157511+00:00 |
| **Durée** | 22.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [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: [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.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [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.003275", "end": "2025-12-19 23:20:10.153756", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.150481", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 24 days, 10:11, 1 user, load average: 0.61, 0.40, 0.30", "stdout_lines": [" 23:20:10 up 24 days, 10:11, 1 user, load average: 0.61, 0.40, 0.30"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003839", "end": "2025-12-19 23:20:10.170189", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.166350", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 24 days, 12:30, 1 user, load average: 0.09, 0.08, 0.05", "stdout_lines": [" 23:20:10 up 24 days, 12:30, 1 user, load average: 0.09, 0.08, 0.05"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002847", "end": "2025-12-19 23:20:10.193695", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.190848", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 20 min, 1 user, load average: 0.25, 0.35, 0.34", "stdout_lines": [" 23:20:10 up 20 min, 1 user, load average: 0.25, 0.35, 0.34"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008329", "end": "2025-12-19 23:20:10.848439", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.840110", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 196 days, 14:53, 1 user, load average: 0.14, 0.17, 0.11", "stdout_lines": [" 23:20:10 up 196 days, 14:53, 1 user, load average: 0.14, 0.17, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009128", "end": "2025-12-19 23:20:10.895281", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.886153", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 196 days, 14:53, 1 user, load average: 0.15, 0.22, 0.25", "stdout_lines": [" 23:20:10 up 196 days, 14:53, 1 user, load average: 0.15, 0.22, 0.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004020", "end": "2025-12-19 23:20:11.175684", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.171664", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 24 days, 10:31, 1 user, load average: 1.49, 1.13, 0.95", "stdout_lines": [" 23:20:10 up 24 days, 10:31, 1 user, load average: 1.49, 1.13, 0.95"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004429", "end": "2025-12-19 23:20:11.202354", "msg": "", "rc": 0, "start": "2025-12-19 23:20:10.197925", "stderr": "", "stderr_lines": [], "stdout": " 23:20:10 up 24 days, 11:44, 1 user, load average: 0.46, 0.58, 0.65", "stdout_lines": [" 23:20:10 up 24 days, 11:44, 1 user, load average: 0.46, 0.58, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002734", "end": "2025-12-19 23:19:42.455171", "msg": "", "rc": 0, "start": "2025-12-19 23:19:42.452437", "stderr": "", "stderr_lines": [], "stdout": " 23:19:42 up 13 days, 11:09, 0 user, load average: 0.48, 0.25, 0.18", "stdout_lines": [" 23:19:42 up 13 days, 11:09, 0 user, load average: 0.48, 0.25, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003608", "end": "2025-12-19 23:19:35.174869", "msg": "", "rc": 0, "start": "2025-12-19 23:19:35.171261", "stderr": "", "stderr_lines": [], "stdout": " 23:19:35 up 20 days, 7:21, 0 user, load average: 0.03, 0.05, 0.01", "stdout_lines": [" 23:19:35 up 20 days, 7:21, 0 user, load average: 0.03, 0.05, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019823", "end": "2025-12-19 23:20:11.546170", "msg": "", "rc": 0, "start": "2025-12-19 23:20:11.526347", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 17 days, 12:46, 1 user, load average: 0.21, 0.16, 0.11", "stdout_lines": [" 23:20:11 up 17 days, 12:46, 1 user, load average: 0.21, 0.16, 0.11"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004343", "end": "2025-12-19 23:20:11.661688", "msg": "", "rc": 0, "start": "2025-12-19 23:20:11.657345", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 19 min, 1 user, load average: 0.22, 0.09, 0.16", "stdout_lines": [" 23:20:11 up 19 min, 1 user, load average: 0.22, 0.09, 0.16"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003247", "end": "2025-12-19 23:19:38.073926", "msg": "", "rc": 0, "start": "2025-12-19 23:19:38.070679", "stderr": "", "stderr_lines": [], "stdout": " 23:19:38 up 23 days, 2:13, 0 user, load average: 0.53, 0.45, 0.43", "stdout_lines": [" 23:19:38 up 23 days, 2:13, 0 user, load average: 0.53, 0.45, 0.43"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002685", "end": "2025-12-19 23:19:45.563933", "msg": "", "rc": 0, "start": "2025-12-19 23:19:45.561248", "stderr": "", "stderr_lines": [], "stdout": " 23:19:45 up 19 days, 12:35, 0 user, load average: 1.00, 0.73, 0.56", "stdout_lines": [" 23:19:45 up 19 days, 12:35, 0 user, load average: 1.00, 0.73, 0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004519", "end": "2025-12-19 20:20:11.911435", "msg": "", "rc": 0, "start": "2025-12-19 20:20:11.906916", "stderr": "", "stderr_lines": [], "stdout": " 8:20PM up 24 days, 10:09, 1 user, load averages: 0.34, 0.29, 0.25", "stdout_lines": [" 8:20PM up 24 days, 10:09, 1 user, load averages: 0.34, 0.29, 0.25"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009474", "end": "2025-12-19 23:20:12.457552", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.448078", "stderr": "", "stderr_lines": [], "stdout": " 23:20:12 up 10:06, 1 user, load average: 1.35, 1.28, 1.28", "stdout_lines": [" 23:20:12 up 10:06, 1 user, load average: 1.35, 1.28, 1.28"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003826", "end": "2025-12-19 23:20:12.104861", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.101035", "stderr": "", "stderr_lines": [], "stdout": " 23:20:12 up 19 min, 1 user, load average: 0.26, 0.10, 0.12", "stdout_lines": [" 23:20:12 up 19 min, 1 user, load average: 0.26, 0.10, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004251", "end": "2025-12-19 23:20:12.530332", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.526081", "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.004113", "end": "2025-12-19 23:20:12.555301", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.551188", "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.004769", "end": "2025-12-19 23:20:12.575057", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.570288", "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.005057", "end": "2025-12-19 23:20:12.580215", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.575158", "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.005377", "end": "2025-12-19 23:20:12.593480", "msg": "", "rc": 0, "start": "2025-12-19 23:20:12.588103", "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.004767", "end": "2025-12-19 23:19:44.106190", "msg": "", "rc": 0, "start": "2025-12-19 23:19:44.101423", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005624", "end": "2025-12-19 23:19:36.832765", "msg": "", "rc": 0, "start": "2025-12-19 23:19:36.827141", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010466", "end": "2025-12-19 23:20:13.361922", "msg": "", "rc": 0, "start": "2025-12-19 23:20:13.351456", "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.012478", "end": "2025-12-19 23:20:13.365267", "msg": "", "rc": 0, "start": "2025-12-19 23:20:13.352789", "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.005633", "end": "2025-12-19 23:20:13.532456", "msg": "", "rc": 0, "start": "2025-12-19 23:20:13.526823", "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.005410", "end": "2025-12-19 23:19:40.030268", "msg": "", "rc": 0, "start": "2025-12-19 23:19:40.024858", "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.005354", "end": "2025-12-19 20:20:13.844425", "msg": "", "rc": 0, "start": "2025-12-19 20:20:13.839071", "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.005114", "end": "2025-12-19 23:19:47.547487", "msg": "", "rc": 0, "start": "2025-12-19 23:19:47.542373", "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.006302", "end": "2025-12-19 23:20:13.977310", "msg": "", "rc": 0, "start": "2025-12-19 23:20:13.971008", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022041", "end": "2025-12-19 23:20:14.683815", "msg": "", "rc": 0, "start": "2025-12-19 23:20:14.661774", "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.026048", "end": "2025-12-19 23:20:13.939988", "msg": "", "rc": 0, "start": "2025-12-19 23:20:13.913940", "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.004277", "end": "2025-12-19 23:20:14.479108", "msg": "", "rc": 0, "start": "2025-12-19 23:20:14.474831", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004197", "end": "2025-12-19 23:20:14.488023", "msg": "", "rc": 0, "start": "2025-12-19 23:20:14.483826", "stderr": "", "stderr_lines": [], "stdout": "15.0%", "stdout_lines": ["15.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.004789", "end": "2025-12-19 23:20:14.509499", "msg": "", "rc": 0, "start": "2025-12-19 23:20:14.504710", "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.005179", "end": "2025-12-19 23:20:14.516720", "msg": "", "rc": 0, "start": "2025-12-19 23:20:14.511541", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006067", "end": "2025-12-19 23:20:14.532126", "msg": "", "rc": 0, "start": "2025-12-19 23:20:14.526059", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004390", "end": "2025-12-19 23:19:46.066413", "msg": "", "rc": 0, "start": "2025-12-19 23:19:46.062023", "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-19 23:19:38.788959", "msg": "", "rc": 0, "start": "2025-12-19 23:19:38.784378", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.010998", "end": "2025-12-19 23:20:15.195304", "msg": "", "rc": 0, "start": "2025-12-19 23:20:15.184306", "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.011991", "end": "2025-12-19 23:20:15.230899", "msg": "", "rc": 0, "start": "2025-12-19 23:20:15.218908", "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.005650", "end": "2025-12-19 23:20:15.502772", "msg": "", "rc": 0, "start": "2025-12-19 23:20:15.497122", "stderr": "", "stderr_lines": [], "stdout": "16.6%", "stdout_lines": ["16.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.004049", "end": "2025-12-19 23:19:41.959504", "msg": "", "rc": 0, "start": "2025-12-19 23:19:41.955455", "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.005155", "end": "2025-12-19 20:20:15.715765", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:20:15.710610", "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.004513", "end": "2025-12-19 23:19:49.389197", "msg": "", "rc": 0, "start": "2025-12-19 23:19:49.384684", "stderr": "", "stderr_lines": [], "stdout": "57.5%", "stdout_lines": ["57.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.007071", "end": "2025-12-19 23:20:16.009459", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.002388", "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.026104", "end": "2025-12-19 23:20:15.894155", "msg": "", "rc": 0, "start": "2025-12-19 23:20:15.868051", "stderr": "", "stderr_lines": [], "stdout": "19.0%", "stdout_lines": ["19.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.012552", "end": "2025-12-19 23:20:16.859894", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.847342", "stderr": "", "stderr_lines": [], "stdout": "12.4%", "stdout_lines": ["12.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.005369", "end": "2025-12-19 23:20:16.467162", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.461793", "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-19 23:20:16.484065", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.479236", "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.005599", "end": "2025-12-19 23:20:16.492877", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.487278", "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.003170", "end": "2025-12-19 23:20:16.517408", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.514238", "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-19 23:20:16.529187", "msg": "", "rc": 0, "start": "2025-12-19 23:20:16.522471", "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.002660", "end": "2025-12-19 23:19:48.039048", "msg": "", "rc": 0, "start": "2025-12-19 23:19:48.036388", "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.003039", "end": "2025-12-19 23:19:40.776085", "msg": "", "rc": 0, "start": "2025-12-19 23:19:40.773046", "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-19 23:20:17.185318", "msg": "", "rc": 0, "start": "2025-12-19 23:20:17.173512", "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.013101", "end": "2025-12-19 23:20:17.214147", "msg": "", "rc": 0, "start": "2025-12-19 23:20:17.201046", "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.003106", "end": "2025-12-19 23:20:17.472378", "msg": "", "rc": 0, "start": "2025-12-19 23:20:17.469272", "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-19 23:19:43.970002", "msg": "", "rc": 0, "start": "2025-12-19 23:19:43.967218", "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.002993", "end": "2025-12-19 23:19:51.355786", "msg": "", "rc": 0, "start": "2025-12-19 23:19:51.352793", "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.004377", "end": "2025-12-19 20:20:17.702283", "msg": "", "rc": 0, "start": "2025-12-19 20:20:17.697906", "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.003056", "end": "2025-12-19 23:20:17.915061", "msg": "", "rc": 0, "start": "2025-12-19 23:20:17.912005", "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.004638", "end": "2025-12-19 23:20:18.984841", "msg": "", "rc": 0, "start": "2025-12-19 23:20:18.980203", "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.029253", "end": "2025-12-19 23:20:17.873252", "msg": "", "rc": 0, "start": "2025-12-19 23:20:17.843999", "stderr": "", "stderr_lines": [], "stdout": "33.8°C", "stdout_lines": ["33.8°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004099", "end": "2025-12-19 23:20:18.398698", "msg": "", "rc": 0, "start": "2025-12-19 23:20:18.394599", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
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.004057", "end": "2025-12-19 23:20:18.425744", "msg": "", "rc": 0, "start": "2025-12-19 23:20:18.421687", "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.004907", "end": "2025-12-19 23:20:18.454401", "msg": "", "rc": 0, "start": "2025-12-19 23:20:18.449494", "stderr": "", "stderr_lines": [], "stdout": "1.49", "stdout_lines": ["1.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.006031", "end": "2025-12-19 23:20:18.477281", "msg": "", "rc": 0, "start": "2025-12-19 23:20:18.471250", "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.005590", "end": "2025-12-19 23:20:18.486307", "msg": "", "rc": 0, "start": "2025-12-19 23:20:18.480717", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.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.004695", "end": "2025-12-19 23:19:50.030895", "msg": "", "rc": 0, "start": "2025-12-19 23:19:50.026200", "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.004838", "end": "2025-12-19 23:19:42.744260", "msg": "", "rc": 0, "start": "2025-12-19 23:19:42.739422", "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.010513", "end": "2025-12-19 23:20:19.254351", "msg": "", "rc": 0, "start": "2025-12-19 23:20:19.243838", "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.011160", "end": "2025-12-19 23:20:19.246800", "msg": "", "rc": 0, "start": "2025-12-19 23:20:19.235640", "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.005500", "end": "2025-12-19 23:20:19.454792", "msg": "", "rc": 0, "start": "2025-12-19 23:20:19.449292", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005072", "end": "2025-12-19 23:19:45.916351", "msg": "", "rc": 0, "start": "2025-12-19 23:19:45.911279", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006135", "end": "2025-12-19 20:20:19.721107", "msg": "", "rc": 0, "start": "2025-12-19 20:20:19.714972", "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.005616", "end": "2025-12-19 23:19:53.462187", "msg": "", "rc": 0, "start": "2025-12-19 23:19:53.456571", "stderr": "", "stderr_lines": [], "stdout": "1.15", "stdout_lines": ["1.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005353", "end": "2025-12-19 23:20:19.893809", "msg": "", "rc": 0, "start": "2025-12-19 23:20:19.888456", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.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.025148", "end": "2025-12-19 23:20:19.805778", "msg": "", "rc": 0, "start": "2025-12-19 23:20:19.780630", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.009208", "end": "2025-12-19 23:20:21.165791", "msg": "", "rc": 0, "start": "2025-12-19 23:20:21.156583", "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: 23:20:10 up 24 days, 10:11, 1 user, load average: 0.61, 0.40, 0.30\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.60\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:10 up 20 min, 1 user, load average: 0.25, 0.35, 0.34\nDisk Usage: 22%\nMemory Usage: 15.0%\nCPU Load: 0.31\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:10 up 24 days, 10:31, 1 user, load average: 1.49, 1.13, 0.95\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.49\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:10 up 24 days, 11:44, 1 user, load average: 0.46, 0.58, 0.65\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.47\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:10 up 24 days, 12:30, 1 user, load average: 0.09, 0.08, 0.05\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: 23:20:11 up 17 days, 12:46, 1 user, load average: 0.21, 0.16, 0.11\nDisk Usage: 21%\nMemory Usage: 19.0%\nCPU Load: 0.26\nCPU Temp: 33.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:10 up 196 days, 14:53, 1 user, load average: 0.15, 0.22, 0.25\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.20\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:10 up 196 days, 14:53, 1 user, load average: 0.14, 0.17, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.20\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:42 up 13 days, 11:09, 0 user, load average: 0.48, 0.25, 0.18\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:35 up 20 days, 7:21, 0 user, load average: 0.03, 0.05, 0.01\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:38 up 23 days, 2:13, 0 user, load average: 0.53, 0.45, 0.43\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:11 up 19 min, 1 user, load average: 0.22, 0.09, 0.16\nDisk Usage: 1%\nMemory Usage: 16.6%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:45 up 19 days, 12:35, 0 user, load average: 1.00, 0.73, 0.56\nDisk Usage: 76%\nMemory Usage: 57.5%\nCPU Load: 1.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:20PM up 24 days, 10:09, 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: 23:20:12 up 19 min, 1 user, load average: 0.26, 0.10, 0.12\nDisk Usage: 79%\nMemory Usage: 12.8%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:12 up 10:06, 1 user, load average: 1.35, 1.28, 1.28\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.69\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-20T04:20:22.236708+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `69aea4f718914e8b9c66c7f4f5a44652` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:25:00.001229+00:00 |
| **Fin** | 2025-12-20T04:25:19.928901+00:00 |
| **Durée** | 19.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: [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: [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.003300", "end": "2025-12-19 23:25:08.161725", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.158425", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 24 days, 10:16, 1 user, load average: 0.59, 0.46, 0.35", "stdout_lines": [" 23:25:08 up 24 days, 10:16, 1 user, load average: 0.59, 0.46, 0.35"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003192", "end": "2025-12-19 23:25:08.167176", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.163984", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 24 days, 10:36, 1 user, load average: 0.76, 1.00, 0.96", "stdout_lines": [" 23:25:08 up 24 days, 10:36, 1 user, load average: 0.76, 1.00, 0.96"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003786", "end": "2025-12-19 23:25:08.175062", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.171276", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 24 days, 12:35, 1 user, load average: 0.22, 0.11, 0.07", "stdout_lines": [" 23:25:08 up 24 days, 12:35, 1 user, load average: 0.22, 0.11, 0.07"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002865", "end": "2025-12-19 23:25:08.198689", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.195824", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 25 min, 1 user, load average: 0.42, 0.36, 0.35", "stdout_lines": [" 23:25:08 up 25 min, 1 user, load average: 0.42, 0.36, 0.35"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004838", "end": "2025-12-19 23:25:08.200167", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.195329", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 24 days, 11:49, 1 user, load average: 0.52, 0.62, 0.65", "stdout_lines": [" 23:25:08 up 24 days, 11:49, 1 user, load average: 0.52, 0.62, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003354", "end": "2025-12-19 23:24:39.739529", "msg": "", "rc": 0, "start": "2025-12-19 23:24:39.736175", "stderr": "", "stderr_lines": [], "stdout": " 23:24:39 up 13 days, 11:14, 0 user, load average: 0.25, 0.23, 0.18", "stdout_lines": [" 23:24:39 up 13 days, 11:14, 0 user, load average: 0.25, 0.23, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003480", "end": "2025-12-19 23:24:32.467866", "msg": "", "rc": 0, "start": "2025-12-19 23:24:32.464386", "stderr": "", "stderr_lines": [], "stdout": " 23:24:32 up 20 days, 7:26, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 23:24:32 up 20 days, 7:26, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008455", "end": "2025-12-19 23:25:08.862567", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.854112", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 196 days, 14:58, 1 user, load average: 0.06, 0.14, 0.11", "stdout_lines": [" 23:25:08 up 196 days, 14:58, 1 user, load average: 0.06, 0.14, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009612", "end": "2025-12-19 23:25:08.916024", "msg": "", "rc": 0, "start": "2025-12-19 23:25:08.906412", "stderr": "", "stderr_lines": [], "stdout": " 23:25:08 up 196 days, 14:57, 1 user, load average: 0.20, 0.26, 0.27", "stdout_lines": [" 23:25:08 up 196 days, 14:57, 1 user, load average: 0.20, 0.26, 0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004387", "end": "2025-12-19 23:25:09.169075", "msg": "", "rc": 0, "start": "2025-12-19 23:25:09.164688", "stderr": "", "stderr_lines": [], "stdout": " 23:25:09 up 24 min, 1 user, load average: 0.17, 0.11, 0.14", "stdout_lines": [" 23:25:09 up 24 min, 1 user, load average: 0.17, 0.11, 0.14"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003359", "end": "2025-12-19 23:24:35.667932", "msg": "", "rc": 0, "start": "2025-12-19 23:24:35.664573", "stderr": "", "stderr_lines": [], "stdout": " 23:24:35 up 23 days, 2:18, 0 user, load average: 0.52, 0.50, 0.45", "stdout_lines": [" 23:24:35 up 23 days, 2:18, 0 user, load average: 0.52, 0.50, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004223", "end": "2025-12-19 20:25:09.370537", "msg": "", "rc": 0, "start": "2025-12-19 20:25:09.366314", "stderr": "", "stderr_lines": [], "stdout": " 8:25PM up 24 days, 10:14, 1 user, load averages: 0.16, 0.25, 0.24", "stdout_lines": [" 8:25PM up 24 days, 10:14, 1 user, load averages: 0.16, 0.25, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004170", "end": "2025-12-19 23:24:43.032210", "msg": "", "rc": 0, "start": "2025-12-19 23:24:43.028040", "stderr": "", "stderr_lines": [], "stdout": " 23:24:43 up 19 days, 12:40, 0 user, load average: 0.62, 0.70, 0.60", "stdout_lines": [" 23:24:43 up 19 days, 12:40, 0 user, load average: 0.62, 0.70, 0.60"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004076", "end": "2025-12-19 23:25:09.596650", "msg": "", "rc": 0, "start": "2025-12-19 23:25:09.592574", "stderr": "", "stderr_lines": [], "stdout": " 23:25:09 up 24 min, 1 user, load average: 0.24, 0.12, 0.10", "stdout_lines": [" 23:25:09 up 24 min, 1 user, load average: 0.24, 0.12, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005850", "end": "2025-12-19 23:25:10.480190", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.474340", "stderr": "", "stderr_lines": [], "stdout": " 23:25:10 up 10:11, 1 user, load average: 1.56, 1.39, 1.32", "stdout_lines": [" 23:25:10 up 10:11, 1 user, load average: 1.56, 1.39, 1.32"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019930", "end": "2025-12-19 23:25:09.572326", "msg": "", "rc": 0, "start": "2025-12-19 23:25:09.552396", "stderr": "", "stderr_lines": [], "stdout": " 23:25:09 up 17 days, 12:51, 1 user, load average: 0.12, 0.14, 0.10", "stdout_lines": [" 23:25:09 up 17 days, 12:51, 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.004311", "end": "2025-12-19 23:25:10.101333", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.097022", "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.004081", "end": "2025-12-19 23:25:10.117183", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.113102", "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.004942", "end": "2025-12-19 23:25:10.129794", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.124852", "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.005875", "end": "2025-12-19 23:25:10.149966", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.144091", "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.005795", "end": "2025-12-19 23:25:10.177335", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.171540", "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.005671", "end": "2025-12-19 23:24:41.673155", "msg": "", "rc": 0, "start": "2025-12-19 23:24:41.667484", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009005", "end": "2025-12-19 23:24:34.431400", "msg": "", "rc": 0, "start": "2025-12-19 23:24:34.422395", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010451", "end": "2025-12-19 23:25:10.809815", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.799364", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011494", "end": "2025-12-19 23:25:10.864408", "msg": "", "rc": 0, "start": "2025-12-19 23:25:10.852914", "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.005689", "end": "2025-12-19 23:25:11.102672", "msg": "", "rc": 0, "start": "2025-12-19 23:25:11.096983", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004844", "end": "2025-12-19 23:24:44.955526", "msg": "", "rc": 0, "start": "2025-12-19 23:24:44.950682", "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.005525", "end": "2025-12-19 20:25:11.322629", "msg": "", "rc": 0, "start": "2025-12-19 20:25:11.317104", "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.005641", "end": "2025-12-19 23:24:37.642460", "msg": "", "rc": 0, "start": "2025-12-19 23:24:37.636819", "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.005474", "end": "2025-12-19 23:25:11.531149", "msg": "", "rc": 0, "start": "2025-12-19 23:25:11.525675", "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.025955", "end": "2025-12-19 23:25:11.501450", "msg": "", "rc": 0, "start": "2025-12-19 23:25:11.475495", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.012697", "end": "2025-12-19 23:25:12.613186", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.600489", "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.004239", "end": "2025-12-19 23:25:12.049034", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.044795", "stderr": "", "stderr_lines": [], "stdout": "76.7%", "stdout_lines": ["76.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.004205", "end": "2025-12-19 23:25:12.054437", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.050232", "stderr": "", "stderr_lines": [], "stdout": "15.1%", "stdout_lines": ["15.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004759", "end": "2025-12-19 23:25:12.066823", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.062064", "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.005160", "end": "2025-12-19 23:25:12.088842", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.083682", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.006330", "end": "2025-12-19 23:25:12.110829", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.104499", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003410", "end": "2025-12-19 23:24:43.596419", "msg": "", "rc": 0, "start": "2025-12-19 23:24:43.593009", "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.004316", "end": "2025-12-19 23:24:36.327084", "msg": "", "rc": 0, "start": "2025-12-19 23:24:36.322768", "stderr": "", "stderr_lines": [], "stdout": "65.5%", "stdout_lines": ["65.5%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011856", "end": "2025-12-19 23:25:12.766525", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.754669", "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.010590", "end": "2025-12-19 23:25:12.838868", "msg": "", "rc": 0, "start": "2025-12-19 23:25:12.828278", "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.006252", "end": "2025-12-19 23:25:13.012207", "msg": "", "rc": 0, "start": "2025-12-19 23:25:13.005955", "stderr": "", "stderr_lines": [], "stdout": "16.2%", "stdout_lines": ["16.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.004443", "end": "2025-12-19 23:24:39.505066", "msg": "", "rc": 0, "start": "2025-12-19 23:24:39.500623", "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.005191", "end": "2025-12-19 20:25:13.293436", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:25:13.288245", "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.004370", "end": "2025-12-19 23:24:46.955194", "msg": "", "rc": 0, "start": "2025-12-19 23:24:46.950824", "stderr": "", "stderr_lines": [], "stdout": "56.4%", "stdout_lines": ["56.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.006403", "end": "2025-12-19 23:25:13.464168", "msg": "", "rc": 0, "start": "2025-12-19 23:25:13.457765", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.011602", "end": "2025-12-19 23:25:14.663886", "msg": "", "rc": 0, "start": "2025-12-19 23:25:14.652284", "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.026372", "end": "2025-12-19 23:25:13.439883", "msg": "", "rc": 0, "start": "2025-12-19 23:25:13.413511", "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.005411", "end": "2025-12-19 23:25:13.955001", "msg": "", "rc": 0, "start": "2025-12-19 23:25:13.949590", "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.004806", "end": "2025-12-19 23:25:13.992947", "msg": "", "rc": 0, "start": "2025-12-19 23:25:13.988141", "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.005725", "end": "2025-12-19 23:25:14.004060", "msg": "", "rc": 0, "start": "2025-12-19 23:25:13.998335", "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.003489", "end": "2025-12-19 23:25:14.015837", "msg": "", "rc": 0, "start": "2025-12-19 23:25:14.012348", "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.006568", "end": "2025-12-19 23:25:14.026371", "msg": "", "rc": 0, "start": "2025-12-19 23:25:14.019803", "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.002493", "end": "2025-12-19 23:24:45.515685", "msg": "", "rc": 0, "start": "2025-12-19 23:24:45.513192", "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.003207", "end": "2025-12-19 23:24:38.270256", "msg": "", "rc": 0, "start": "2025-12-19 23:24:38.267049", "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.011685", "end": "2025-12-19 23:25:14.670481", "msg": "", "rc": 0, "start": "2025-12-19 23:25:14.658796", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012958", "end": "2025-12-19 23:25:14.730055", "msg": "", "rc": 0, "start": "2025-12-19 23:25:14.717097", "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.003247", "end": "2025-12-19 23:25:14.934619", "msg": "", "rc": 0, "start": "2025-12-19 23:25:14.931372", "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.002976", "end": "2025-12-19 23:24:41.445401", "msg": "", "rc": 0, "start": "2025-12-19 23:24:41.442425", "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.002711", "end": "2025-12-19 23:24:48.844536", "msg": "", "rc": 0, "start": "2025-12-19 23:24:48.841825", "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.003865", "end": "2025-12-19 20:25:15.199390", "msg": "", "rc": 0, "start": "2025-12-19 20:25:15.195525", "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.003125", "end": "2025-12-19 23:25:15.395796", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.392671", "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.004970", "end": "2025-12-19 23:25:16.799991", "msg": "", "rc": 0, "start": "2025-12-19 23:25:16.795021", "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.029156", "end": "2025-12-19 23:25:15.370366", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.341210", "stderr": "", "stderr_lines": [], "stdout": "33.9°C", "stdout_lines": ["33.9°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004187", "end": "2025-12-19 23:25:15.915126", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.910939", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
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.003999", "end": "2025-12-19 23:25:15.913871", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.909872", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
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.004632", "end": "2025-12-19 23:25:15.941689", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.937057", "stderr": "", "stderr_lines": [], "stdout": "0.70", "stdout_lines": ["0.70"]}
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.005354", "end": "2025-12-19 23:25:15.959129", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.953775", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005299", "end": "2025-12-19 23:25:15.973647", "msg": "", "rc": 0, "start": "2025-12-19 23:25:15.968348", "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.004392", "end": "2025-12-19 23:24:47.509607", "msg": "", "rc": 0, "start": "2025-12-19 23:24:47.505215", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004971", "end": "2025-12-19 23:24:40.202322", "msg": "", "rc": 0, "start": "2025-12-19 23:24:40.197351", "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.009941", "end": "2025-12-19 23:25:16.617924", "msg": "", "rc": 0, "start": "2025-12-19 23:25:16.607983", "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.011232", "end": "2025-12-19 23:25:16.746127", "msg": "", "rc": 0, "start": "2025-12-19 23:25:16.734895", "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.005455", "end": "2025-12-19 23:25:16.941118", "msg": "", "rc": 0, "start": "2025-12-19 23:25:16.935663", "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.005009", "end": "2025-12-19 23:24:43.372501", "msg": "", "rc": 0, "start": "2025-12-19 23:24:43.367492", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
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.004383", "end": "2025-12-19 23:24:50.767008", "msg": "", "rc": 0, "start": "2025-12-19 23:24:50.762625", "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.006058", "end": "2025-12-19 20:25:17.216069", "msg": "", "rc": 0, "start": "2025-12-19 20:25:17.210011", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008179", "end": "2025-12-19 23:25:18.956222", "msg": "", "rc": 0, "start": "2025-12-19 23:25:18.948043", "stderr": "", "stderr_lines": [], "stdout": "1.59", "stdout_lines": ["1.59"]}
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-19 23:25:17.381239", "msg": "", "rc": 0, "start": "2025-12-19 23:25:17.375917", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025335", "end": "2025-12-19 23:25:17.317405", "msg": "", "rc": 0, "start": "2025-12-19 23:25:17.292070", "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: 23:25:08 up 25 min, 1 user, load average: 0.42, 0.36, 0.35\nDisk Usage: 22%\nMemory Usage: 15.1%\nCPU Load: 0.35\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:08 up 24 days, 10:16, 1 user, load average: 0.59, 0.46, 0.35\nDisk Usage: 23%\nMemory Usage: 76.7%\nCPU Load: 0.55\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:08 up 24 days, 10:36, 1 user, load average: 0.76, 1.00, 0.96\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.70\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:08 up 24 days, 11:49, 1 user, load average: 0.52, 0.62, 0.65\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.59\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:08 up 24 days, 12:35, 1 user, load average: 0.22, 0.11, 0.07\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:09 up 17 days, 12:51, 1 user, load average: 0.12, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.19\nCPU Temp: 33.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:08 up 196 days, 14:57, 1 user, load average: 0.20, 0.26, 0.27\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.17\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:08 up 196 days, 14:58, 1 user, load average: 0.06, 0.14, 0.11\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.05\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:39 up 13 days, 11:14, 0 user, load average: 0.25, 0.23, 0.18\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:32 up 20 days, 7:26, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 25%\nMemory Usage: 65.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:09 up 24 min, 1 user, load average: 0.17, 0.11, 0.14\nDisk Usage: 1%\nMemory Usage: 16.2%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:35 up 23 days, 2:18, 0 user, load average: 0.52, 0.50, 0.45\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.52\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:43 up 19 days, 12:40, 0 user, load average: 0.62, 0.70, 0.60\nDisk Usage: 76%\nMemory Usage: 56.4%\nCPU Load: 0.73\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:25PM up 24 days, 10:14, 1 user, load averages: 0.16, 0.25, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:09 up 24 min, 1 user, load average: 0.24, 0.12, 0.10\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:10 up 10:11, 1 user, load average: 1.56, 1.39, 1.32\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-20T04:25:20.002885+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `b73a832a67b548c8a99da3e40fe72914` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:30:00.006665+00:00 |
| **Fin** | 2025-12-20T04:30:19.789723+00:00 |
| **Durée** | 19.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: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.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: [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: [hp3.i5.home]
ok: [hp2.i7.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.003335", "end": "2025-12-19 23:30:07.785934", "msg": "", "rc": 0, "start": "2025-12-19 23:30:07.782599", "stderr": "", "stderr_lines": [], "stdout": " 23:30:07 up 24 days, 10:21, 1 user, load average: 0.41, 0.41, 0.37", "stdout_lines": [" 23:30:07 up 24 days, 10:21, 1 user, load average: 0.41, 0.41, 0.37"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003632", "end": "2025-12-19 23:30:07.794838", "msg": "", "rc": 0, "start": "2025-12-19 23:30:07.791206", "stderr": "", "stderr_lines": [], "stdout": " 23:30:07 up 24 days, 12:40, 1 user, load average: 0.06, 0.06, 0.05", "stdout_lines": [" 23:30:07 up 24 days, 12:40, 1 user, load average: 0.06, 0.06, 0.05"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003414", "end": "2025-12-19 23:30:07.793405", "msg": "", "rc": 0, "start": "2025-12-19 23:30:07.789991", "stderr": "", "stderr_lines": [], "stdout": " 23:30:07 up 24 days, 10:41, 1 user, load average: 1.94, 1.37, 1.11", "stdout_lines": [" 23:30:07 up 24 days, 10:41, 1 user, load average: 1.94, 1.37, 1.11"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002830", "end": "2025-12-19 23:30:07.814489", "msg": "", "rc": 0, "start": "2025-12-19 23:30:07.811659", "stderr": "", "stderr_lines": [], "stdout": " 23:30:07 up 30 min, 1 user, load average: 0.61, 0.43, 0.38", "stdout_lines": [" 23:30:07 up 30 min, 1 user, load average: 0.61, 0.43, 0.38"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004403", "end": "2025-12-19 23:30:07.824297", "msg": "", "rc": 0, "start": "2025-12-19 23:30:07.819894", "stderr": "", "stderr_lines": [], "stdout": " 23:30:07 up 24 days, 11:54, 1 user, load average: 0.62, 0.55, 0.61", "stdout_lines": [" 23:30:07 up 24 days, 11:54, 1 user, load average: 0.62, 0.55, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002855", "end": "2025-12-19 23:29:39.366268", "msg": "", "rc": 0, "start": "2025-12-19 23:29:39.363413", "stderr": "", "stderr_lines": [], "stdout": " 23:29:39 up 13 days, 11:19, 0 user, load average: 0.05, 0.14, 0.16", "stdout_lines": [" 23:29:39 up 13 days, 11:19, 0 user, load average: 0.05, 0.14, 0.16"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003293", "end": "2025-12-19 23:29:32.063604", "msg": "", "rc": 0, "start": "2025-12-19 23:29:32.060311", "stderr": "", "stderr_lines": [], "stdout": " 23:29:32 up 20 days, 7:31, 0 user, load average: 0.15, 0.03, 0.01", "stdout_lines": [" 23:29:32 up 20 days, 7:31, 0 user, load average: 0.15, 0.03, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008395", "end": "2025-12-19 23:30:08.470203", "msg": "", "rc": 0, "start": "2025-12-19 23:30:08.461808", "stderr": "", "stderr_lines": [], "stdout": " 23:30:08 up 196 days, 15:03, 1 user, load average: 0.18, 0.17, 0.12", "stdout_lines": [" 23:30:08 up 196 days, 15:03, 1 user, load average: 0.18, 0.17, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009282", "end": "2025-12-19 23:30:08.521178", "msg": "", "rc": 0, "start": "2025-12-19 23:30:08.511896", "stderr": "", "stderr_lines": [], "stdout": " 23:30:08 up 196 days, 15:02, 1 user, load average: 0.24, 0.22, 0.24", "stdout_lines": [" 23:30:08 up 196 days, 15:02, 1 user, load average: 0.24, 0.22, 0.24"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004455", "end": "2025-12-19 23:30:08.805432", "msg": "", "rc": 0, "start": "2025-12-19 23:30:08.800977", "stderr": "", "stderr_lines": [], "stdout": " 23:30:08 up 29 min, 1 user, load average: 0.00, 0.04, 0.09", "stdout_lines": [" 23:30:08 up 29 min, 1 user, load average: 0.00, 0.04, 0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003335", "end": "2025-12-19 23:29:35.235600", "msg": "", "rc": 0, "start": "2025-12-19 23:29:35.232265", "stderr": "", "stderr_lines": [], "stdout": " 23:29:35 up 23 days, 2:23, 0 user, load average: 0.46, 0.48, 0.45", "stdout_lines": [" 23:29:35 up 23 days, 2:23, 0 user, load average: 0.46, 0.48, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004200", "end": "2025-12-19 20:30:08.974270", "msg": "", "rc": 0, "start": "2025-12-19 20:30:08.970070", "stderr": "", "stderr_lines": [], "stdout": " 8:30PM up 24 days, 10:19, 1 user, load averages: 0.36, 0.28, 0.25", "stdout_lines": [" 8:30PM up 24 days, 10:19, 1 user, load averages: 0.36, 0.28, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006056", "end": "2025-12-19 23:29:42.660304", "msg": "", "rc": 0, "start": "2025-12-19 23:29:42.654248", "stderr": "", "stderr_lines": [], "stdout": " 23:29:42 up 19 days, 12:45, 0 user, load average: 1.56, 0.97, 0.73", "stdout_lines": [" 23:29:42 up 19 days, 12:45, 0 user, load average: 1.56, 0.97, 0.73"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005575", "end": "2025-12-19 23:30:10.326180", "msg": "", "rc": 0, "start": "2025-12-19 23:30:10.320605", "stderr": "", "stderr_lines": [], "stdout": " 23:30:10 up 10:17, 1 user, load average: 1.35, 1.22, 1.26", "stdout_lines": [" 23:30:10 up 10:17, 1 user, load average: 1.35, 1.22, 1.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003754", "end": "2025-12-19 23:30:09.257463", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.253709", "stderr": "", "stderr_lines": [], "stdout": " 23:30:09 up 29 min, 1 user, load average: 0.00, 0.03, 0.07", "stdout_lines": [" 23:30:09 up 29 min, 1 user, load average: 0.00, 0.03, 0.07"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019900", "end": "2025-12-19 23:30:09.179271", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.159371", "stderr": "", "stderr_lines": [], "stdout": " 23:30:09 up 17 days, 12:56, 1 user, load average: 0.07, 0.07, 0.08", "stdout_lines": [" 23:30:09 up 17 days, 12:56, 1 user, load average: 0.07, 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.004145", "end": "2025-12-19 23:30:09.716573", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.712428", "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.004622", "end": "2025-12-19 23:30:09.731435", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.726813", "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.004045", "end": "2025-12-19 23:30:09.736131", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.732086", "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.005088", "end": "2025-12-19 23:30:09.766836", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.761748", "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.007072", "end": "2025-12-19 23:30:09.786501", "msg": "", "rc": 0, "start": "2025-12-19 23:30:09.779429", "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.005454", "end": "2025-12-19 23:29:41.285409", "msg": "", "rc": 0, "start": "2025-12-19 23:29:41.279955", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005610", "end": "2025-12-19 23:29:34.025560", "msg": "", "rc": 0, "start": "2025-12-19 23:29:34.019950", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010989", "end": "2025-12-19 23:30:10.410084", "msg": "", "rc": 0, "start": "2025-12-19 23:30:10.399095", "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.012041", "end": "2025-12-19 23:30:10.458927", "msg": "", "rc": 0, "start": "2025-12-19 23:30:10.446886", "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.005672", "end": "2025-12-19 23:30:10.748195", "msg": "", "rc": 0, "start": "2025-12-19 23:30:10.742523", "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.005936", "end": "2025-12-19 23:29:37.234723", "msg": "", "rc": 0, "start": "2025-12-19 23:29:37.228787", "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.005390", "end": "2025-12-19 23:29:44.587417", "msg": "", "rc": 0, "start": "2025-12-19 23:29:44.582027", "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.005282", "end": "2025-12-19 20:30:10.946660", "msg": "", "rc": 0, "start": "2025-12-19 20:30:10.941378", "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.005521", "end": "2025-12-19 23:30:11.179818", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.174297", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007759", "end": "2025-12-19 23:30:12.514510", "msg": "", "rc": 0, "start": "2025-12-19 23:30:12.506751", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025752", "end": "2025-12-19 23:30:11.122716", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.096964", "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.004249", "end": "2025-12-19 23:30:11.652336", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.648087", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004151", "end": "2025-12-19 23:30:11.669237", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.665086", "stderr": "", "stderr_lines": [], "stdout": "15.0%", "stdout_lines": ["15.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.004861", "end": "2025-12-19 23:30:11.670449", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.665588", "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.005040", "end": "2025-12-19 23:30:11.702822", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.697782", "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.005682", "end": "2025-12-19 23:30:11.737696", "msg": "", "rc": 0, "start": "2025-12-19 23:30:11.732014", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003790", "end": "2025-12-19 23:29:43.188603", "msg": "", "rc": 0, "start": "2025-12-19 23:29:43.184813", "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.005704", "end": "2025-12-19 23:29:35.974542", "msg": "", "rc": 0, "start": "2025-12-19 23:29:35.968838", "stderr": "", "stderr_lines": [], "stdout": "65.5%", "stdout_lines": ["65.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.010912", "end": "2025-12-19 23:30:12.337817", "msg": "", "rc": 0, "start": "2025-12-19 23:30:12.326905", "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.011843", "end": "2025-12-19 23:30:12.388698", "msg": "", "rc": 0, "start": "2025-12-19 23:30:12.376855", "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.005897", "end": "2025-12-19 23:30:12.645917", "msg": "", "rc": 0, "start": "2025-12-19 23:30:12.640020", "stderr": "", "stderr_lines": [], "stdout": "16.3%", "stdout_lines": ["16.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.004510", "end": "2025-12-19 23:29:46.482107", "msg": "", "rc": 0, "start": "2025-12-19 23:29:46.477597", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.005208", "end": "2025-12-19 20:30:12.846054", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:30:12.840846", "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.017112", "end": "2025-12-19 23:29:39.183836", "msg": "", "rc": 0, "start": "2025-12-19 23:29:39.166724", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005605", "end": "2025-12-19 23:30:13.069011", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.063406", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.008697", "end": "2025-12-19 23:30:14.622662", "msg": "", "rc": 0, "start": "2025-12-19 23:30:14.613965", "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.026034", "end": "2025-12-19 23:30:13.049527", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.023493", "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.005429", "end": "2025-12-19 23:30:13.574312", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.568883", "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.004847", "end": "2025-12-19 23:30:13.599832", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.594985", "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.005540", "end": "2025-12-19 23:30:13.613202", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.607662", "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.003196", "end": "2025-12-19 23:30:13.620475", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.617279", "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.007403", "end": "2025-12-19 23:30:13.652390", "msg": "", "rc": 0, "start": "2025-12-19 23:30:13.644987", "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.002587", "end": "2025-12-19 23:29:45.124664", "msg": "", "rc": 0, "start": "2025-12-19 23:29:45.122077", "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.003202", "end": "2025-12-19 23:29:37.874878", "msg": "", "rc": 0, "start": "2025-12-19 23:29:37.871676", "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.011770", "end": "2025-12-19 23:30:14.271604", "msg": "", "rc": 0, "start": "2025-12-19 23:30:14.259834", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013081", "end": "2025-12-19 23:30:14.305485", "msg": "", "rc": 0, "start": "2025-12-19 23:30:14.292404", "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.003280", "end": "2025-12-19 23:30:14.568986", "msg": "", "rc": 0, "start": "2025-12-19 23:30:14.565706", "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.002885", "end": "2025-12-19 23:29:41.062601", "msg": "", "rc": 0, "start": "2025-12-19 23:29:41.059716", "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.004084", "end": "2025-12-19 20:30:14.774575", "msg": "", "rc": 0, "start": "2025-12-19 20:30:14.770491", "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.003023", "end": "2025-12-19 23:29:48.442701", "msg": "", "rc": 0, "start": "2025-12-19 23:29:48.439678", "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.003263", "end": "2025-12-19 23:30:14.979192", "msg": "", "rc": 0, "start": "2025-12-19 23:30:14.975929", "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.004813", "end": "2025-12-19 23:30:16.701082", "msg": "", "rc": 0, "start": "2025-12-19 23:30:16.696269", "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.029079", "end": "2025-12-19 23:30:14.976792", "msg": "", "rc": 0, "start": "2025-12-19 23:30:14.947713", "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.004172", "end": "2025-12-19 23:30:15.498628", "msg": "", "rc": 0, "start": "2025-12-19 23:30:15.494456", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004022", "end": "2025-12-19 23:30:15.503116", "msg": "", "rc": 0, "start": "2025-12-19 23:30:15.499094", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
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.004697", "end": "2025-12-19 23:30:15.510237", "msg": "", "rc": 0, "start": "2025-12-19 23:30:15.505540", "stderr": "", "stderr_lines": [], "stdout": "2.03", "stdout_lines": ["2.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.005169", "end": "2025-12-19 23:30:15.527922", "msg": "", "rc": 0, "start": "2025-12-19 23:30:15.522753", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005307", "end": "2025-12-19 23:30:15.551994", "msg": "", "rc": 0, "start": "2025-12-19 23:30:15.546687", "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.004351", "end": "2025-12-19 23:29:47.031817", "msg": "", "rc": 0, "start": "2025-12-19 23:29:47.027466", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
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.005125", "end": "2025-12-19 23:29:39.765356", "msg": "", "rc": 0, "start": "2025-12-19 23:29:39.760231", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010108", "end": "2025-12-19 23:30:16.290712", "msg": "", "rc": 0, "start": "2025-12-19 23:30:16.280604", "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.011170", "end": "2025-12-19 23:30:16.278092", "msg": "", "rc": 0, "start": "2025-12-19 23:30:16.266922", "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.005565", "end": "2025-12-19 23:30:16.494884", "msg": "", "rc": 0, "start": "2025-12-19 23:30:16.489319", "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.004784", "end": "2025-12-19 23:29:42.980975", "msg": "", "rc": 0, "start": "2025-12-19 23:29:42.976191", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005827", "end": "2025-12-19 20:30:16.749211", "msg": "", "rc": 0, "start": "2025-12-19 20:30:16.743384", "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.004558", "end": "2025-12-19 23:29:50.444196", "msg": "", "rc": 0, "start": "2025-12-19 23:29:50.439638", "stderr": "", "stderr_lines": [], "stdout": "1.39", "stdout_lines": ["1.39"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005320", "end": "2025-12-19 23:30:16.915243", "msg": "", "rc": 0, "start": "2025-12-19 23:30:16.909923", "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.008148", "end": "2025-12-19 23:30:18.817246", "msg": "", "rc": 0, "start": "2025-12-19 23:30:18.809098", "stderr": "", "stderr_lines": [], "stdout": "1.52", "stdout_lines": ["1.52"]}
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.024995", "end": "2025-12-19 23:30:16.896637", "msg": "", "rc": 0, "start": "2025-12-19 23:30:16.871642", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:07 up 30 min, 1 user, load average: 0.61, 0.43, 0.38\nDisk Usage: 22%\nMemory Usage: 15.0%\nCPU Load: 0.60\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:07 up 24 days, 10:21, 1 user, load average: 0.41, 0.41, 0.37\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.42\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:07 up 24 days, 10:41, 1 user, load average: 1.94, 1.37, 1.11\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 2.03\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:07 up 24 days, 11:54, 1 user, load average: 0.62, 0.55, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.67\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:07 up 24 days, 12:40, 1 user, load average: 0.06, 0.06, 0.05\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:09 up 17 days, 12:56, 1 user, load average: 0.07, 0.07, 0.08\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.14\nCPU Temp: 34.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:08 up 196 days, 15:02, 1 user, load average: 0.24, 0.22, 0.24\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.29\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:08 up 196 days, 15:03, 1 user, load average: 0.18, 0.17, 0.12\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.23\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:39 up 13 days, 11:19, 0 user, load average: 0.05, 0.14, 0.16\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:32 up 20 days, 7:31, 0 user, load average: 0.15, 0.03, 0.01\nDisk Usage: 25%\nMemory Usage: 65.5%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:08 up 29 min, 1 user, load average: 0.00, 0.04, 0.09\nDisk Usage: 1%\nMemory Usage: 16.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:35 up 23 days, 2:23, 0 user, load average: 0.46, 0.48, 0.45\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:42 up 19 days, 12:45, 0 user, load average: 1.56, 0.97, 0.73\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 1.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:30PM up 24 days, 10:19, 1 user, load averages: 0.36, 0.28, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:09 up 29 min, 1 user, load average: 0.00, 0.03, 0.07\nDisk Usage: 79%\nMemory Usage: 12.8%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:10 up 10:17, 1 user, load average: 1.35, 1.22, 1.26\nDisk Usage: 1%\nMemory Usage: 13.0%\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-20T04:30:19.839052+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `95ba367898384820b93af33aff7dfeca` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-20T04:35:00.003441+00:00 |
| **Fin** | 2025-12-20T04:35:23.541079+00:00 |
| **Durée** | 23.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [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: [hp3.i5.home]
ok: [hp2.i7.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.003524", "end": "2025-12-19 23:35:10.296740", "msg": "", "rc": 0, "start": "2025-12-19 23:35:10.293216", "stderr": "", "stderr_lines": [], "stdout": " 23:35:10 up 24 days, 10:46, 1 user, load average: 1.21, 1.12, 1.06", "stdout_lines": [" 23:35:10 up 24 days, 10:46, 1 user, load average: 1.21, 1.12, 1.06"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004016", "end": "2025-12-19 23:35:10.303335", "msg": "", "rc": 0, "start": "2025-12-19 23:35:10.299319", "stderr": "", "stderr_lines": [], "stdout": " 23:35:10 up 24 days, 12:45, 1 user, load average: 0.02, 0.04, 0.04", "stdout_lines": [" 23:35:10 up 24 days, 12:45, 1 user, load average: 0.02, 0.04, 0.04"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004046", "end": "2025-12-19 23:35:10.321088", "msg": "", "rc": 0, "start": "2025-12-19 23:35:10.317042", "stderr": "", "stderr_lines": [], "stdout": " 23:35:10 up 24 days, 11:59, 1 user, load average: 0.34, 0.46, 0.56", "stdout_lines": [" 23:35:10 up 24 days, 11:59, 1 user, load average: 0.34, 0.46, 0.56"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002878", "end": "2025-12-19 23:35:10.329949", "msg": "", "rc": 0, "start": "2025-12-19 23:35:10.327071", "stderr": "", "stderr_lines": [], "stdout": " 23:35:10 up 35 min, 1 user, load average: 0.25, 0.29, 0.33", "stdout_lines": [" 23:35:10 up 35 min, 1 user, load average: 0.25, 0.29, 0.33"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004857", "end": "2025-12-19 23:34:41.861799", "msg": "", "rc": 0, "start": "2025-12-19 23:34:41.856942", "stderr": "", "stderr_lines": [], "stdout": " 23:34:41 up 13 days, 11:24, 0 user, load average: 0.00, 0.09, 0.14", "stdout_lines": [" 23:34:41 up 13 days, 11:24, 0 user, load average: 0.00, 0.09, 0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008360", "end": "2025-12-19 23:35:10.986595", "msg": "", "rc": 0, "start": "2025-12-19 23:35:10.978235", "stderr": "", "stderr_lines": [], "stdout": " 23:35:10 up 196 days, 15:08, 1 user, load average: 0.24, 0.18, 0.13", "stdout_lines": [" 23:35:10 up 196 days, 15:08, 1 user, load average: 0.24, 0.18, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009288", "end": "2025-12-19 23:35:11.024108", "msg": "", "rc": 0, "start": "2025-12-19 23:35:11.014820", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 196 days, 15:08, 1 user, load average: 0.18, 0.18, 0.22", "stdout_lines": [" 23:35:11 up 196 days, 15:08, 1 user, load average: 0.18, 0.18, 0.22"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004370", "end": "2025-12-19 23:35:11.286011", "msg": "", "rc": 0, "start": "2025-12-19 23:35:10.281641", "stderr": "", "stderr_lines": [], "stdout": " 23:35:10 up 24 days, 10:26, 1 user, load average: 0.24, 0.30, 0.33", "stdout_lines": [" 23:35:10 up 24 days, 10:26, 1 user, load average: 0.24, 0.30, 0.33"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003938", "end": "2025-12-19 23:34:35.053715", "msg": "", "rc": 0, "start": "2025-12-19 23:34:35.049777", "stderr": "", "stderr_lines": [], "stdout": " 23:34:35 up 20 days, 7:36, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 23:34:35 up 20 days, 7:36, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004480", "end": "2025-12-19 23:35:11.487660", "msg": "", "rc": 0, "start": "2025-12-19 23:35:11.483180", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 34 min, 1 user, load average: 0.01, 0.04, 0.08", "stdout_lines": [" 23:35:11 up 34 min, 1 user, load average: 0.01, 0.04, 0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003689", "end": "2025-12-19 23:34:37.969988", "msg": "", "rc": 0, "start": "2025-12-19 23:34:37.966299", "stderr": "", "stderr_lines": [], "stdout": " 23:34:37 up 23 days, 2:28, 0 user, load average: 0.31, 0.43, 0.44", "stdout_lines": [" 23:34:37 up 23 days, 2:28, 0 user, load average: 0.31, 0.43, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003566", "end": "2025-12-19 23:34:45.425871", "msg": "", "rc": 0, "start": "2025-12-19 23:34:45.422305", "stderr": "", "stderr_lines": [], "stdout": " 23:34:45 up 19 days, 12:50, 0 user, load average: 0.55, 0.81, 0.73", "stdout_lines": [" 23:34:45 up 19 days, 12:50, 0 user, load average: 0.55, 0.81, 0.73"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004266", "end": "2025-12-19 20:35:11.809218", "msg": "", "rc": 0, "start": "2025-12-19 20:35:11.804952", "stderr": "", "stderr_lines": [], "stdout": " 8:35PM up 24 days, 10:24, 1 user, load averages: 0.18, 0.25, 0.24", "stdout_lines": [" 8:35PM up 24 days, 10:24, 1 user, load averages: 0.18, 0.25, 0.24"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020249", "end": "2025-12-19 23:35:11.682486", "msg": "", "rc": 0, "start": "2025-12-19 23:35:11.662237", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 17 days, 13:01, 1 user, load average: 0.14, 0.08, 0.08", "stdout_lines": [" 23:35:11 up 17 days, 13:01, 1 user, load average: 0.14, 0.08, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003720", "end": "2025-12-19 23:35:11.959580", "msg": "", "rc": 0, "start": "2025-12-19 23:35:11.955860", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 34 min, 1 user, load average: 0.01, 0.04, 0.06", "stdout_lines": [" 23:35:11 up 34 min, 1 user, load average: 0.01, 0.04, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007987", "end": "2025-12-19 23:35:14.055968", "msg": "", "rc": 0, "start": "2025-12-19 23:35:14.047981", "stderr": "", "stderr_lines": [], "stdout": " 23:35:14 up 10:23, 1 user, load average: 1.54, 1.38, 1.31", "stdout_lines": [" 23:35:14 up 10:23, 1 user, load average: 1.54, 1.38, 1.31"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004158", "end": "2025-12-19 23:35:12.393448", "msg": "", "rc": 0, "start": "2025-12-19 23:35:12.389290", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004085", "end": "2025-12-19 23:35:12.424916", "msg": "", "rc": 0, "start": "2025-12-19 23:35:12.420831", "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.004950", "end": "2025-12-19 23:35:12.430184", "msg": "", "rc": 0, "start": "2025-12-19 23:35:12.425234", "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.004717", "end": "2025-12-19 23:35:12.462654", "msg": "", "rc": 0, "start": "2025-12-19 23:35:12.457937", "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.007711", "end": "2025-12-19 23:35:12.483069", "msg": "", "rc": 0, "start": "2025-12-19 23:35:12.475358", "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.004806", "end": "2025-12-19 23:34:43.963225", "msg": "", "rc": 0, "start": "2025-12-19 23:34:43.958419", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005473", "end": "2025-12-19 23:34:36.723627", "msg": "", "rc": 0, "start": "2025-12-19 23:34:36.718154", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010881", "end": "2025-12-19 23:35:13.149760", "msg": "", "rc": 0, "start": "2025-12-19 23:35:13.138879", "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.011761", "end": "2025-12-19 23:35:13.174691", "msg": "", "rc": 0, "start": "2025-12-19 23:35:13.162930", "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.005630", "end": "2025-12-19 23:35:13.399582", "msg": "", "rc": 0, "start": "2025-12-19 23:35:13.393952", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005489", "end": "2025-12-19 23:34:39.913427", "msg": "", "rc": 0, "start": "2025-12-19 23:34:39.907938", "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.005293", "end": "2025-12-19 20:35:13.637496", "msg": "", "rc": 0, "start": "2025-12-19 20:35:13.632203", "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.004636", "end": "2025-12-19 23:34:47.303006", "msg": "", "rc": 0, "start": "2025-12-19 23:34:47.298370", "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.005331", "end": "2025-12-19 23:35:13.832481", "msg": "", "rc": 0, "start": "2025-12-19 23:35:13.827150", "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.025940", "end": "2025-12-19 23:35:13.794213", "msg": "", "rc": 0, "start": "2025-12-19 23:35:13.768273", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019339", "end": "2025-12-19 23:35:16.199870", "msg": "", "rc": 0, "start": "2025-12-19 23:35:16.180531", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004404", "end": "2025-12-19 23:35:14.355578", "msg": "", "rc": 0, "start": "2025-12-19 23:35:14.351174", "stderr": "", "stderr_lines": [], "stdout": "76.8%", "stdout_lines": ["76.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.004134", "end": "2025-12-19 23:35:14.374850", "msg": "", "rc": 0, "start": "2025-12-19 23:35:14.370716", "stderr": "", "stderr_lines": [], "stdout": "15.1%", "stdout_lines": ["15.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005468", "end": "2025-12-19 23:35:14.391190", "msg": "", "rc": 0, "start": "2025-12-19 23:35:14.385722", "stderr": "", "stderr_lines": [], "stdout": "48.9%", "stdout_lines": ["48.9%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004770", "end": "2025-12-19 23:35:14.410373", "msg": "", "rc": 0, "start": "2025-12-19 23:35:14.405603", "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.006933", "end": "2025-12-19 23:35:14.446598", "msg": "", "rc": 0, "start": "2025-12-19 23:35:14.439665", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003831", "end": "2025-12-19 23:34:45.915268", "msg": "", "rc": 0, "start": "2025-12-19 23:34:45.911437", "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.005177", "end": "2025-12-19 23:34:38.702089", "msg": "", "rc": 0, "start": "2025-12-19 23:34:38.696912", "stderr": "", "stderr_lines": [], "stdout": "65.4%", "stdout_lines": ["65.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.010780", "end": "2025-12-19 23:35:15.068621", "msg": "", "rc": 0, "start": "2025-12-19 23:35:15.057841", "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.011849", "end": "2025-12-19 23:35:15.103795", "msg": "", "rc": 0, "start": "2025-12-19 23:35:15.091946", "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.005766", "end": "2025-12-19 23:35:15.350726", "msg": "", "rc": 0, "start": "2025-12-19 23:35:15.344960", "stderr": "", "stderr_lines": [], "stdout": "16.2%", "stdout_lines": ["16.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.005190", "end": "2025-12-19 20:35:15.579038", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 20:35:15.573848", "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.004515", "end": "2025-12-19 23:34:41.899979", "msg": "", "rc": 0, "start": "2025-12-19 23:34:41.895464", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003768", "end": "2025-12-19 23:34:49.258597", "msg": "", "rc": 0, "start": "2025-12-19 23:34:49.254829", "stderr": "", "stderr_lines": [], "stdout": "55.0%", "stdout_lines": ["55.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.005444", "end": "2025-12-19 23:35:15.781984", "msg": "", "rc": 0, "start": "2025-12-19 23:35:15.776540", "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.026275", "end": "2025-12-19 23:35:15.765794", "msg": "", "rc": 0, "start": "2025-12-19 23:35:15.739519", "stderr": "", "stderr_lines": [], "stdout": "19.4%", "stdout_lines": ["19.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.009084", "end": "2025-12-19 23:35:18.344968", "msg": "", "rc": 0, "start": "2025-12-19 23:35:18.335884", "stderr": "", "stderr_lines": [], "stdout": "12.3%", "stdout_lines": ["12.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.005226", "end": "2025-12-19 23:35:16.309729", "msg": "", "rc": 0, "start": "2025-12-19 23:35:16.304503", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004861", "end": "2025-12-19 23:35:16.337460", "msg": "", "rc": 0, "start": "2025-12-19 23:35:16.332599", "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.005856", "end": "2025-12-19 23:35:16.339486", "msg": "", "rc": 0, "start": "2025-12-19 23:35:16.333630", "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.003118", "end": "2025-12-19 23:35:16.358260", "msg": "", "rc": 0, "start": "2025-12-19 23:35:16.355142", "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.006520", "end": "2025-12-19 23:35:16.375431", "msg": "", "rc": 0, "start": "2025-12-19 23:35:16.368911", "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.002636", "end": "2025-12-19 23:34:47.856862", "msg": "", "rc": 0, "start": "2025-12-19 23:34:47.854226", "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-19 23:34:40.598085", "msg": "", "rc": 0, "start": "2025-12-19 23:34:40.595214", "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.011707", "end": "2025-12-19 23:35:17.012551", "msg": "", "rc": 0, "start": "2025-12-19 23:35:17.000844", "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.012919", "end": "2025-12-19 23:35:17.068846", "msg": "", "rc": 0, "start": "2025-12-19 23:35:17.055927", "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.003635", "end": "2025-12-19 23:35:17.299519", "msg": "", "rc": 0, "start": "2025-12-19 23:35:17.295884", "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.002847", "end": "2025-12-19 23:34:43.779500", "msg": "", "rc": 0, "start": "2025-12-19 23:34:43.776653", "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.002826", "end": "2025-12-19 23:34:51.178503", "msg": "", "rc": 0, "start": "2025-12-19 23:34:51.175677", "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.004169", "end": "2025-12-19 20:35:17.540379", "msg": "", "rc": 0, "start": "2025-12-19 20:35:17.536210", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002977", "end": "2025-12-19 23:35:17.742623", "msg": "", "rc": 0, "start": "2025-12-19 23:35:17.739646", "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.004830", "end": "2025-12-19 23:35:20.398297", "msg": "", "rc": 0, "start": "2025-12-19 23:35:20.393467", "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.029119", "end": "2025-12-19 23:35:17.718689", "msg": "", "rc": 0, "start": "2025-12-19 23:35:17.689570", "stderr": "", "stderr_lines": [], "stdout": "34.0°C", "stdout_lines": ["34.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004059", "end": "2025-12-19 23:35:18.236739", "msg": "", "rc": 0, "start": "2025-12-19 23:35:18.232680", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
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-19 23:35:18.273280", "msg": "", "rc": 0, "start": "2025-12-19 23:35:18.269276", "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.004623", "end": "2025-12-19 23:35:18.278211", "msg": "", "rc": 0, "start": "2025-12-19 23:35:18.273588", "stderr": "", "stderr_lines": [], "stdout": "1.10", "stdout_lines": ["1.10"]}
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.005282", "end": "2025-12-19 23:35:18.305884", "msg": "", "rc": 0, "start": "2025-12-19 23:35:18.300602", "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.005412", "end": "2025-12-19 23:35:18.317282", "msg": "", "rc": 0, "start": "2025-12-19 23:35:18.311870", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004294", "end": "2025-12-19 23:34:49.797497", "msg": "", "rc": 0, "start": "2025-12-19 23:34:49.793203", "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.005120", "end": "2025-12-19 23:34:42.520325", "msg": "", "rc": 0, "start": "2025-12-19 23:34:42.515205", "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.010065", "end": "2025-12-19 23:35:19.035601", "msg": "", "rc": 0, "start": "2025-12-19 23:35:19.025536", "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.011029", "end": "2025-12-19 23:35:19.061522", "msg": "", "rc": 0, "start": "2025-12-19 23:35:19.050493", "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.005533", "end": "2025-12-19 23:35:19.234248", "msg": "", "rc": 0, "start": "2025-12-19 23:35:19.228715", "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.004997", "end": "2025-12-19 23:34:45.690731", "msg": "", "rc": 0, "start": "2025-12-19 23:34:45.685734", "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.006154", "end": "2025-12-19 20:35:19.521978", "msg": "", "rc": 0, "start": "2025-12-19 20:35:19.515824", "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.004720", "end": "2025-12-19 23:34:53.187722", "msg": "", "rc": 0, "start": "2025-12-19 23:34:53.183002", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.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.005373", "end": "2025-12-19 23:35:19.675041", "msg": "", "rc": 0, "start": "2025-12-19 23:35:19.669668", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008152", "end": "2025-12-19 23:35:22.530058", "msg": "", "rc": 0, "start": "2025-12-19 23:35:22.521906", "stderr": "", "stderr_lines": [], "stdout": "1.90", "stdout_lines": ["1.90"]}
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.024804", "end": "2025-12-19 23:35:19.643902", "msg": "", "rc": 0, "start": "2025-12-19 23:35:19.619098", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:10 up 24 days, 10:26, 1 user, load average: 0.24, 0.30, 0.33\nDisk Usage: 23%\nMemory Usage: 76.8%\nCPU Load: 0.36\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:10 up 35 min, 1 user, load average: 0.25, 0.29, 0.33\nDisk Usage: 22%\nMemory Usage: 15.1%\nCPU Load: 0.31\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:10 up 24 days, 10:46, 1 user, load average: 1.21, 1.12, 1.06\nDisk Usage: 14%\nMemory Usage: 48.9%\nCPU Load: 1.10\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:10 up 24 days, 11:59, 1 user, load average: 0.34, 0.46, 0.56\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.52\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:10 up 24 days, 12:45, 1 user, load average: 0.02, 0.04, 0.04\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 17 days, 13:01, 1 user, load average: 0.14, 0.08, 0.08\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.21\nCPU Temp: 34.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 196 days, 15:08, 1 user, load average: 0.18, 0.18, 0.22\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.33\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:10 up 196 days, 15:08, 1 user, load average: 0.24, 0.18, 0.13\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.22\nCPU Temp: 29.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:41 up 13 days, 11:24, 0 user, load average: 0.00, 0.09, 0.14\nDisk Usage: 50%\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: 23:34:35 up 20 days, 7:36, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 25%\nMemory Usage: 65.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 34 min, 1 user, load average: 0.01, 0.04, 0.08\nDisk Usage: 1%\nMemory Usage: 16.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:37 up 23 days, 2:28, 0 user, load average: 0.31, 0.43, 0.44\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:45 up 19 days, 12:50, 0 user, load average: 0.55, 0.81, 0.73\nDisk Usage: 76%\nMemory Usage: 55.0%\nCPU Load: 0.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:35PM up 24 days, 10:24, 1 user, load averages: 0.18, 0.25, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 34 min, 1 user, load average: 0.01, 0.04, 0.06\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:14 up 10:23, 1 user, load average: 1.54, 1.38, 1.31\nDisk Usage: 1%\nMemory Usage: 12.3%\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-20T04:35:23.615798+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `3ea7af48bcc94d7d914ecd270b03c42d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T05:10:00.001545+00:00 |
| **Fin** | 2025-12-19T05:10:21.711463+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [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: [ali2v.xeon.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003428", "end": "2025-12-19 00:10:11.315020", "msg": "", "rc": 0, "start": "2025-12-19 00:10:11.311592", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 23 days, 11:01, 1 user, load average: 0.42, 0.25, 0.17", "stdout_lines": [" 00:10:11 up 23 days, 11:01, 1 user, load average: 0.42, 0.25, 0.17"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003514", "end": "2025-12-19 00:10:11.323007", "msg": "", "rc": 0, "start": "2025-12-19 00:10:11.319493", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 23 days, 13:20, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 00:10:11 up 23 days, 13:20, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002850", "end": "2025-12-19 00:10:11.348072", "msg": "", "rc": 0, "start": "2025-12-19 00:10:11.345222", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 4 days, 13:42, 1 user, load average: 1.27, 0.73, 0.39", "stdout_lines": [" 00:10:11 up 4 days, 13:42, 1 user, load average: 1.27, 0.73, 0.39"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003609", "end": "2025-12-19 00:10:11.366394", "msg": "", "rc": 0, "start": "2025-12-19 00:10:11.362785", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 23 days, 11:21, 1 user, load average: 0.96, 1.02, 0.94", "stdout_lines": [" 00:10:11 up 23 days, 11:21, 1 user, load average: 0.96, 1.02, 0.94"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005142", "end": "2025-12-19 00:10:11.361165", "msg": "", "rc": 0, "start": "2025-12-19 00:10:11.356023", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 23 days, 12:34, 1 user, load average: 0.79, 0.70, 0.72", "stdout_lines": [" 00:10:11 up 23 days, 12:34, 1 user, load average: 0.79, 0.70, 0.72"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003284", "end": "2025-12-19 00:09:43.908935", "msg": "", "rc": 0, "start": "2025-12-19 00:09:43.905651", "stderr": "", "stderr_lines": [], "stdout": " 00:09:43 up 12 days, 11:59, 0 user, load average: 0.11, 0.10, 0.09", "stdout_lines": [" 00:09:43 up 12 days, 11:59, 0 user, load average: 0.11, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003322", "end": "2025-12-19 00:09:36.928950", "msg": "", "rc": 0, "start": "2025-12-19 00:09:36.925628", "stderr": "", "stderr_lines": [], "stdout": " 00:09:36 up 19 days, 8:11, 0 user, load average: 0.19, 0.08, 0.02", "stdout_lines": [" 00:09:36 up 19 days, 8:11, 0 user, load average: 0.19, 0.08, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008532", "end": "2025-12-19 00:10:12.003260", "msg": "", "rc": 0, "start": "2025-12-19 00:10:11.994728", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 195 days, 15:43, 1 user, load average: 0.28, 0.18, 0.13", "stdout_lines": [" 00:10:11 up 195 days, 15:43, 1 user, load average: 0.28, 0.18, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009169", "end": "2025-12-19 00:10:12.028824", "msg": "", "rc": 0, "start": "2025-12-19 00:10:12.019655", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 195 days, 15:43, 1 user, load average: 0.25, 0.23, 0.16", "stdout_lines": [" 00:10:12 up 195 days, 15:43, 1 user, load average: 0.25, 0.23, 0.16"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005107", "end": "2025-12-19 00:10:12.309032", "msg": "", "rc": 0, "start": "2025-12-19 00:10:12.303925", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 4 days, 13:41, 2 users, load average: 0.08, 0.05, 0.01", "stdout_lines": [" 00:10:12 up 4 days, 13:41, 2 users, load average: 0.08, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003446", "end": "2025-12-19 00:09:40.100729", "msg": "", "rc": 0, "start": "2025-12-19 00:09:40.097283", "stderr": "", "stderr_lines": [], "stdout": " 00:09:40 up 22 days, 3:03, 0 user, load average: 1.06, 0.74, 0.59", "stdout_lines": [" 00:09:40 up 22 days, 3:03, 0 user, load average: 1.06, 0.74, 0.59"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004594", "end": "2025-12-18 21:10:12.509764", "msg": "", "rc": 0, "start": "2025-12-18 21:10:12.505170", "stderr": "", "stderr_lines": [], "stdout": " 9:10PM up 23 days, 10:59, 1 user, load averages: 0.33, 0.28, 0.25", "stdout_lines": [" 9:10PM up 23 days, 10:59, 1 user, load averages: 0.33, 0.28, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002848", "end": "2025-12-19 00:09:47.230122", "msg": "", "rc": 0, "start": "2025-12-19 00:09:47.227274", "stderr": "", "stderr_lines": [], "stdout": " 00:09:47 up 18 days, 13:25, 0 user, load average: 1.09, 0.79, 0.59", "stdout_lines": [" 00:09:47 up 18 days, 13:25, 0 user, load average: 1.09, 0.79, 0.59"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007690", "end": "2025-12-19 00:10:14.189665", "msg": "", "rc": 0, "start": "2025-12-19 00:10:14.181975", "stderr": "", "stderr_lines": [], "stdout": " 00:10:14 up 20:52, 1 user, load average: 1.07, 0.99, 0.91", "stdout_lines": [" 00:10:14 up 20:52, 1 user, load average: 1.07, 0.99, 0.91"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003842", "end": "2025-12-19 00:10:12.750619", "msg": "", "rc": 0, "start": "2025-12-19 00:10:12.746777", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 9:25, 2 users, load average: 0.31, 0.28, 0.14", "stdout_lines": [" 00:10:12 up 9:25, 2 users, load average: 0.31, 0.28, 0.14"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019628", "end": "2025-12-19 00:10:12.705338", "msg": "", "rc": 0, "start": "2025-12-19 00:10:12.685710", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 16 days, 13:36, 1 user, load average: 0.14, 0.11, 0.09", "stdout_lines": [" 00:10:12 up 16 days, 13:36, 1 user, load average: 0.14, 0.11, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004148", "end": "2025-12-19 00:10:13.212979", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.208831", "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.004108", "end": "2025-12-19 00:10:13.236180", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.232072", "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.005434", "end": "2025-12-19 00:10:13.260623", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.255189", "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.004915", "end": "2025-12-19 00:10:13.268874", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.263959", "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.005554", "end": "2025-12-19 00:10:13.280715", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.275161", "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.004746", "end": "2025-12-19 00:09:45.782508", "msg": "", "rc": 0, "start": "2025-12-19 00:09:45.777762", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005949", "end": "2025-12-19 00:09:38.850922", "msg": "", "rc": 0, "start": "2025-12-19 00:09:38.844973", "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.011303", "end": "2025-12-19 00:10:13.987322", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.976019", "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.011630", "end": "2025-12-19 00:10:13.992973", "msg": "", "rc": 0, "start": "2025-12-19 00:10:13.981343", "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.005683", "end": "2025-12-19 00:10:14.198582", "msg": "", "rc": 0, "start": "2025-12-19 00:10:14.192899", "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.005398", "end": "2025-12-19 00:09:42.008664", "msg": "", "rc": 0, "start": "2025-12-19 00:09:42.003266", "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.005436", "end": "2025-12-18 21:10:14.456207", "msg": "", "rc": 0, "start": "2025-12-18 21:10:14.450771", "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.005059", "end": "2025-12-19 00:09:49.167861", "msg": "", "rc": 0, "start": "2025-12-19 00:09:49.162802", "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.005294", "end": "2025-12-19 00:10:14.626869", "msg": "", "rc": 0, "start": "2025-12-19 00:10:14.621575", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019127", "end": "2025-12-19 00:10:14.756606", "msg": "", "rc": 0, "start": "2025-12-19 00:10:14.737479", "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.025298", "end": "2025-12-19 00:10:14.595560", "msg": "", "rc": 0, "start": "2025-12-19 00:10:14.570262", "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-19 00:10:15.117690", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.113525", "stderr": "", "stderr_lines": [], "stdout": "76.3%", "stdout_lines": ["76.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.004375", "end": "2025-12-19 00:10:15.141369", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.136994", "stderr": "", "stderr_lines": [], "stdout": "21.4%", "stdout_lines": ["21.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.004816", "end": "2025-12-19 00:10:15.137318", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.132502", "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.005029", "end": "2025-12-19 00:10:15.177399", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.172370", "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.005532", "end": "2025-12-19 00:10:15.193372", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.187840", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003494", "end": "2025-12-19 00:09:47.675219", "msg": "", "rc": 0, "start": "2025-12-19 00:09:47.671725", "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.004227", "end": "2025-12-19 00:09:40.741644", "msg": "", "rc": 0, "start": "2025-12-19 00:09:40.737417", "stderr": "", "stderr_lines": [], "stdout": "66.0%", "stdout_lines": ["66.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.010884", "end": "2025-12-19 00:10:15.814298", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.803414", "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.011948", "end": "2025-12-19 00:10:15.850038", "msg": "", "rc": 0, "start": "2025-12-19 00:10:15.838090", "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.005799", "end": "2025-12-19 00:10:16.093946", "msg": "", "rc": 0, "start": "2025-12-19 00:10:16.088147", "stderr": "", "stderr_lines": [], "stdout": "37.1%", "stdout_lines": ["37.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004198", "end": "2025-12-19 00:09:43.920959", "msg": "", "rc": 0, "start": "2025-12-19 00:09:43.916761", "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.003203", "end": "2025-12-19 00:09:50.974034", "msg": "", "rc": 0, "start": "2025-12-19 00:09:50.970831", "stderr": "", "stderr_lines": [], "stdout": "50.3%", "stdout_lines": ["50.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.005148", "end": "2025-12-18 21:10:16.305584", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 21:10:16.300436", "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.005298", "end": "2025-12-19 00:10:16.526233", "msg": "", "rc": 0, "start": "2025-12-19 00:10:16.520935", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.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.008614", "end": "2025-12-19 00:10:16.735269", "msg": "", "rc": 0, "start": "2025-12-19 00:10:16.726655", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026034", "end": "2025-12-19 00:10:16.506555", "msg": "", "rc": 0, "start": "2025-12-19 00:10:16.480521", "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.005363", "end": "2025-12-19 00:10:17.039809", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.034446", "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.005031", "end": "2025-12-19 00:10:17.065376", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.060345", "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.005882", "end": "2025-12-19 00:10:17.076969", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.071087", "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.003375", "end": "2025-12-19 00:10:17.099813", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.096438", "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.006245", "end": "2025-12-19 00:10:17.098082", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.091837", "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.002475", "end": "2025-12-19 00:09:49.598975", "msg": "", "rc": 0, "start": "2025-12-19 00:09:49.596500", "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.003013", "end": "2025-12-19 00:09:42.671377", "msg": "", "rc": 0, "start": "2025-12-19 00:09:42.668364", "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.011741", "end": "2025-12-19 00:10:17.744212", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.732471", "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.012997", "end": "2025-12-19 00:10:17.772110", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.759113", "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.003439", "end": "2025-12-19 00:10:17.988993", "msg": "", "rc": 0, "start": "2025-12-19 00:10:17.985554", "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.003053", "end": "2025-12-19 00:09:45.847807", "msg": "", "rc": 0, "start": "2025-12-19 00:09:45.844754", "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.003937", "end": "2025-12-18 21:10:18.233970", "msg": "", "rc": 0, "start": "2025-12-18 21:10:18.230033", "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.002954", "end": "2025-12-19 00:09:52.936112", "msg": "", "rc": 0, "start": "2025-12-19 00:09:52.933158", "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.003255", "end": "2025-12-19 00:10:18.422175", "msg": "", "rc": 0, "start": "2025-12-19 00:10:18.418920", "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.004819", "end": "2025-12-19 00:10:18.751937", "msg": "", "rc": 0, "start": "2025-12-19 00:10:18.747118", "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.028723", "end": "2025-12-19 00:10:18.420196", "msg": "", "rc": 0, "start": "2025-12-19 00:10:18.391473", "stderr": "", "stderr_lines": [], "stdout": "33.0°C", "stdout_lines": ["33.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004245", "end": "2025-12-19 00:10:18.987566", "msg": "", "rc": 0, "start": "2025-12-19 00:10:18.983321", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004251", "end": "2025-12-19 00:10:19.010384", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.006133", "stderr": "", "stderr_lines": [], "stdout": "1.25", "stdout_lines": ["1.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004689", "end": "2025-12-19 00:10:19.023495", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.018806", "stderr": "", "stderr_lines": [], "stdout": "0.88", "stdout_lines": ["0.88"]}
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.005181", "end": "2025-12-19 00:10:19.049389", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.044208", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005548", "end": "2025-12-19 00:10:19.072388", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.066840", "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.004349", "end": "2025-12-19 00:09:51.548560", "msg": "", "rc": 0, "start": "2025-12-19 00:09:51.544211", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005342", "end": "2025-12-19 00:09:44.634000", "msg": "", "rc": 0, "start": "2025-12-19 00:09:44.628658", "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.010043", "end": "2025-12-19 00:10:19.771737", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.761694", "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.011281", "end": "2025-12-19 00:10:19.819017", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.807736", "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.005542", "end": "2025-12-19 00:10:19.966455", "msg": "", "rc": 0, "start": "2025-12-19 00:10:19.960913", "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.005132", "end": "2025-12-19 00:09:47.806476", "msg": "", "rc": 0, "start": "2025-12-19 00:09:47.801344", "stderr": "", "stderr_lines": [], "stdout": "0.98", "stdout_lines": ["0.98"]}
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.004303", "end": "2025-12-19 00:09:54.940556", "msg": "", "rc": 0, "start": "2025-12-19 00:09:54.936253", "stderr": "", "stderr_lines": [], "stdout": "1.00", "stdout_lines": ["1.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006544", "end": "2025-12-18 21:10:20.310924", "msg": "", "rc": 0, "start": "2025-12-18 21:10:20.304380", "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.005556", "end": "2025-12-19 00:10:20.414504", "msg": "", "rc": 0, "start": "2025-12-19 00:10:20.408948", "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.008472", "end": "2025-12-19 00:10:20.808072", "msg": "", "rc": 0, "start": "2025-12-19 00:10:20.799600", "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.024857", "end": "2025-12-19 00:10:20.360681", "msg": "", "rc": 0, "start": "2025-12-19 00:10:20.335824", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 23 days, 11:01, 1 user, load average: 0.42, 0.25, 0.17\nDisk Usage: 23%\nMemory Usage: 76.3%\nCPU Load: 0.47\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 4 days, 13:42, 1 user, load average: 1.27, 0.73, 0.39\nDisk Usage: 22%\nMemory Usage: 21.4%\nCPU Load: 1.25\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 23 days, 11:21, 1 user, load average: 0.96, 1.02, 0.94\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.88\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 23 days, 12:34, 1 user, load average: 0.79, 0.70, 0.72\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.81\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 23 days, 13:20, 1 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 16 days, 13:36, 1 user, load average: 0.14, 0.11, 0.09\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.21\nCPU Temp: 33.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 195 days, 15:43, 1 user, load average: 0.25, 0.23, 0.16\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.21\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 195 days, 15:43, 1 user, load average: 0.28, 0.18, 0.13\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.31\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:43 up 12 days, 11:59, 0 user, load average: 0.11, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:36 up 19 days, 8:11, 0 user, load average: 0.19, 0.08, 0.02\nDisk Usage: 24%\nMemory Usage: 66.0%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 4 days, 13:41, 2 users, load average: 0.08, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 37.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:40 up 22 days, 3:03, 0 user, load average: 1.06, 0.74, 0.59\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.98\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:47 up 18 days, 13:25, 0 user, load average: 1.09, 0.79, 0.59\nDisk Usage: 76%\nMemory Usage: 50.3%\nCPU Load: 1.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:10PM up 23 days, 10:59, 1 user, load averages: 0.33, 0.28, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 9:25, 2 users, load average: 0.31, 0.28, 0.14\nDisk Usage: 79%\nMemory Usage: 17.1%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:14 up 20:52, 1 user, load average: 1.07, 0.99, 0.91\nDisk Usage: 1%\nMemory Usage: 13.6%\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-19T05:10:21.769197+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ec660f4bcd1b4b0ca6f303068823c923` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T05:15:00.003903+00:00 |
| **Fin** | 2025-12-19T05:15:23.233033+00:00 |
| **Durée** | 23.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003810", "end": "2025-12-19 00:15:11.963904", "msg": "", "rc": 0, "start": "2025-12-19 00:15:11.960094", "stderr": "", "stderr_lines": [], "stdout": " 00:15:11 up 23 days, 11:06, 1 user, load average: 0.24, 0.24, 0.18", "stdout_lines": [" 00:15:11 up 23 days, 11:06, 1 user, load average: 0.24, 0.24, 0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003576", "end": "2025-12-19 00:15:11.962834", "msg": "", "rc": 0, "start": "2025-12-19 00:15:11.959258", "stderr": "", "stderr_lines": [], "stdout": " 00:15:11 up 23 days, 11:26, 1 user, load average: 0.77, 0.82, 0.87", "stdout_lines": [" 00:15:11 up 23 days, 11:26, 1 user, load average: 0.77, 0.82, 0.87"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003047", "end": "2025-12-19 00:15:11.978449", "msg": "", "rc": 0, "start": "2025-12-19 00:15:11.975402", "stderr": "", "stderr_lines": [], "stdout": " 00:15:11 up 23 days, 13:25, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 00:15:11 up 23 days, 13:25, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003161", "end": "2025-12-19 00:15:11.996339", "msg": "", "rc": 0, "start": "2025-12-19 00:15:11.993178", "stderr": "", "stderr_lines": [], "stdout": " 00:15:11 up 4 days, 13:47, 1 user, load average: 0.98, 0.86, 0.54", "stdout_lines": [" 00:15:11 up 4 days, 13:47, 1 user, load average: 0.98, 0.86, 0.54"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004216", "end": "2025-12-19 00:15:12.008222", "msg": "", "rc": 0, "start": "2025-12-19 00:15:12.004006", "stderr": "", "stderr_lines": [], "stdout": " 00:15:12 up 23 days, 12:39, 1 user, load average: 0.92, 0.79, 0.75", "stdout_lines": [" 00:15:12 up 23 days, 12:39, 1 user, load average: 0.92, 0.79, 0.75"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002893", "end": "2025-12-19 00:14:44.525308", "msg": "", "rc": 0, "start": "2025-12-19 00:14:44.522415", "stderr": "", "stderr_lines": [], "stdout": " 00:14:44 up 12 days, 12:04, 0 user, load average: 0.12, 0.10, 0.09", "stdout_lines": [" 00:14:44 up 12 days, 12:04, 0 user, load average: 0.12, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003635", "end": "2025-12-19 00:14:37.594891", "msg": "", "rc": 0, "start": "2025-12-19 00:14:37.591256", "stderr": "", "stderr_lines": [], "stdout": " 00:14:37 up 19 days, 8:16, 0 user, load average: 0.17, 0.09, 0.02", "stdout_lines": [" 00:14:37 up 19 days, 8:16, 0 user, load average: 0.17, 0.09, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008401", "end": "2025-12-19 00:15:12.658327", "msg": "", "rc": 0, "start": "2025-12-19 00:15:12.649926", "stderr": "", "stderr_lines": [], "stdout": " 00:15:12 up 195 days, 15:48, 1 user, load average: 0.10, 0.11, 0.10", "stdout_lines": [" 00:15:12 up 195 days, 15:48, 1 user, load average: 0.10, 0.11, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009222", "end": "2025-12-19 00:15:12.685255", "msg": "", "rc": 0, "start": "2025-12-19 00:15:12.676033", "stderr": "", "stderr_lines": [], "stdout": " 00:15:12 up 195 days, 15:48, 1 user, load average: 0.38, 0.32, 0.21", "stdout_lines": [" 00:15:12 up 195 days, 15:48, 1 user, load average: 0.38, 0.32, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004906", "end": "2025-12-19 00:15:12.933642", "msg": "", "rc": 0, "start": "2025-12-19 00:15:12.928736", "stderr": "", "stderr_lines": [], "stdout": " 00:15:12 up 4 days, 13:46, 2 users, load average: 0.44, 0.15, 0.04", "stdout_lines": [" 00:15:12 up 4 days, 13:46, 2 users, load average: 0.44, 0.15, 0.04"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003424", "end": "2025-12-19 00:14:40.793693", "msg": "", "rc": 0, "start": "2025-12-19 00:14:40.790269", "stderr": "", "stderr_lines": [], "stdout": " 00:14:40 up 22 days, 3:08, 0 user, load average: 0.36, 0.55, 0.55", "stdout_lines": [" 00:14:40 up 22 days, 3:08, 0 user, load average: 0.36, 0.55, 0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004188", "end": "2025-12-18 21:15:13.147642", "msg": "", "rc": 0, "start": "2025-12-18 21:15:13.143454", "stderr": "", "stderr_lines": [], "stdout": " 9:15PM up 23 days, 11:05, 1 user, load averages: 0.16, 0.20, 0.22", "stdout_lines": [" 9:15PM up 23 days, 11:05, 1 user, load averages: 0.16, 0.20, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003035", "end": "2025-12-19 00:14:47.818039", "msg": "", "rc": 0, "start": "2025-12-19 00:14:47.815004", "stderr": "", "stderr_lines": [], "stdout": " 00:14:47 up 18 days, 13:30, 0 user, load average: 0.37, 0.56, 0.53", "stdout_lines": [" 00:14:47 up 18 days, 13:30, 0 user, load average: 0.37, 0.56, 0.53"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003735", "end": "2025-12-19 00:15:13.355605", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.351870", "stderr": "", "stderr_lines": [], "stdout": " 00:15:13 up 9:30, 2 users, load average: 0.07, 0.16, 0.13", "stdout_lines": [" 00:15:13 up 9:30, 2 users, load average: 0.07, 0.16, 0.13"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009689", "end": "2025-12-19 00:15:14.325355", "msg": "", "rc": 0, "start": "2025-12-19 00:15:14.315666", "stderr": "", "stderr_lines": [], "stdout": " 00:15:14 up 20:58, 1 user, load average: 1.09, 1.07, 1.00", "stdout_lines": [" 00:15:14 up 20:58, 1 user, load average: 1.09, 1.07, 1.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020211", "end": "2025-12-19 00:15:13.344877", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.324666", "stderr": "", "stderr_lines": [], "stdout": " 00:15:13 up 16 days, 13:41, 1 user, load average: 0.22, 0.12, 0.10", "stdout_lines": [" 00:15:13 up 16 days, 13:41, 1 user, load average: 0.22, 0.12, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004322", "end": "2025-12-19 00:15:13.876261", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.871939", "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.004184", "end": "2025-12-19 00:15:13.883127", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.878943", "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.004731", "end": "2025-12-19 00:15:13.900710", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.895979", "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.004913", "end": "2025-12-19 00:15:13.917689", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.912776", "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.005549", "end": "2025-12-19 00:15:13.935913", "msg": "", "rc": 0, "start": "2025-12-19 00:15:13.930364", "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.005045", "end": "2025-12-19 00:14:46.436102", "msg": "", "rc": 0, "start": "2025-12-19 00:14:46.431057", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005264", "end": "2025-12-19 00:14:39.496735", "msg": "", "rc": 0, "start": "2025-12-19 00:14:39.491471", "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.010530", "end": "2025-12-19 00:15:14.605753", "msg": "", "rc": 0, "start": "2025-12-19 00:15:14.595223", "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.011584", "end": "2025-12-19 00:15:14.632509", "msg": "", "rc": 0, "start": "2025-12-19 00:15:14.620925", "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.006328", "end": "2025-12-19 00:15:14.855508", "msg": "", "rc": 0, "start": "2025-12-19 00:15:14.849180", "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.005524", "end": "2025-12-19 00:14:42.663792", "msg": "", "rc": 0, "start": "2025-12-19 00:14:42.658268", "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.005471", "end": "2025-12-18 21:15:15.095811", "msg": "", "rc": 0, "start": "2025-12-18 21:15:15.090340", "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.004703", "end": "2025-12-19 00:14:49.777100", "msg": "", "rc": 0, "start": "2025-12-19 00:14:49.772397", "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.005375", "end": "2025-12-19 00:15:15.275156", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.269781", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022007", "end": "2025-12-19 00:15:16.291400", "msg": "", "rc": 0, "start": "2025-12-19 00:15:16.269393", "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.025242", "end": "2025-12-19 00:15:15.257853", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.232611", "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.004365", "end": "2025-12-19 00:15:15.776951", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.772586", "stderr": "", "stderr_lines": [], "stdout": "76.1%", "stdout_lines": ["76.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.004179", "end": "2025-12-19 00:15:15.794420", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.790241", "stderr": "", "stderr_lines": [], "stdout": "21.4%", "stdout_lines": ["21.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.005102", "end": "2025-12-19 00:15:15.807183", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.802081", "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.004523", "end": "2025-12-19 00:15:15.831918", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.827395", "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.005402", "end": "2025-12-19 00:15:15.845379", "msg": "", "rc": 0, "start": "2025-12-19 00:15:15.839977", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004242", "end": "2025-12-19 00:14:48.333551", "msg": "", "rc": 0, "start": "2025-12-19 00:14:48.329309", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004510", "end": "2025-12-19 00:14:41.413425", "msg": "", "rc": 0, "start": "2025-12-19 00:14:41.408915", "stderr": "", "stderr_lines": [], "stdout": "66.1%", "stdout_lines": ["66.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.010803", "end": "2025-12-19 00:15:16.474762", "msg": "", "rc": 0, "start": "2025-12-19 00:15:16.463959", "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.011751", "end": "2025-12-19 00:15:16.524194", "msg": "", "rc": 0, "start": "2025-12-19 00:15:16.512443", "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.005960", "end": "2025-12-19 00:15:16.735713", "msg": "", "rc": 0, "start": "2025-12-19 00:15:16.729753", "stderr": "", "stderr_lines": [], "stdout": "37.2%", "stdout_lines": ["37.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.004250", "end": "2025-12-19 00:14:44.583684", "msg": "", "rc": 0, "start": "2025-12-19 00:14:44.579434", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003724", "end": "2025-12-19 00:14:51.640055", "msg": "", "rc": 0, "start": "2025-12-19 00:14:51.636331", "stderr": "", "stderr_lines": [], "stdout": "46.0%", "stdout_lines": ["46.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.005083", "end": "2025-12-18 21:15:16.998777", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 21:15:16.993694", "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.005378", "end": "2025-12-19 00:15:17.152019", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.146641", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.009840", "end": "2025-12-19 00:15:18.297627", "msg": "", "rc": 0, "start": "2025-12-19 00:15:18.287787", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026059", "end": "2025-12-19 00:15:17.183497", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.157438", "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.005404", "end": "2025-12-19 00:15:17.704566", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.699162", "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.004874", "end": "2025-12-19 00:15:17.722446", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.717572", "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.005569", "end": "2025-12-19 00:15:17.723691", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.718122", "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.003189", "end": "2025-12-19 00:15:17.759250", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.756061", "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.006471", "end": "2025-12-19 00:15:17.774882", "msg": "", "rc": 0, "start": "2025-12-19 00:15:17.768411", "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.002768", "end": "2025-12-19 00:14:50.263946", "msg": "", "rc": 0, "start": "2025-12-19 00:14:50.261178", "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.003799", "end": "2025-12-19 00:14:43.339285", "msg": "", "rc": 0, "start": "2025-12-19 00:14:43.335486", "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.011743", "end": "2025-12-19 00:15:18.393316", "msg": "", "rc": 0, "start": "2025-12-19 00:15:18.381573", "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.013045", "end": "2025-12-19 00:15:18.427025", "msg": "", "rc": 0, "start": "2025-12-19 00:15:18.413980", "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.003157", "end": "2025-12-19 00:15:18.684749", "msg": "", "rc": 0, "start": "2025-12-19 00:15:18.681592", "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.002895", "end": "2025-12-19 00:14:46.526109", "msg": "", "rc": 0, "start": "2025-12-19 00:14:46.523214", "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.003890", "end": "2025-12-18 21:15:18.888209", "msg": "", "rc": 0, "start": "2025-12-18 21:15:18.884319", "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.003539", "end": "2025-12-19 00:14:53.583638", "msg": "", "rc": 0, "start": "2025-12-19 00:14:53.580099", "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.002861", "end": "2025-12-19 00:15:19.106208", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.103347", "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.004139", "end": "2025-12-19 00:15:20.331484", "msg": "", "rc": 0, "start": "2025-12-19 00:15:20.327345", "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.028818", "end": "2025-12-19 00:15:19.095756", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.066938", "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.004223", "end": "2025-12-19 00:15:19.612537", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.608314", "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.004101", "end": "2025-12-19 00:15:19.638893", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.634792", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
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.004708", "end": "2025-12-19 00:15:19.651909", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.647201", "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.005140", "end": "2025-12-19 00:15:19.667434", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.662294", "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.005364", "end": "2025-12-19 00:15:19.693480", "msg": "", "rc": 0, "start": "2025-12-19 00:15:19.688116", "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.004359", "end": "2025-12-19 00:14:52.165131", "msg": "", "rc": 0, "start": "2025-12-19 00:14:52.160772", "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.005228", "end": "2025-12-19 00:14:45.239644", "msg": "", "rc": 0, "start": "2025-12-19 00:14:45.234416", "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.010116", "end": "2025-12-19 00:15:20.381462", "msg": "", "rc": 0, "start": "2025-12-19 00:15:20.371346", "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.011162", "end": "2025-12-19 00:15:20.451355", "msg": "", "rc": 0, "start": "2025-12-19 00:15:20.440193", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.006093", "end": "2025-12-19 00:15:20.574279", "msg": "", "rc": 0, "start": "2025-12-19 00:15:20.568186", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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-19 00:14:48.408376", "msg": "", "rc": 0, "start": "2025-12-19 00:14:48.403455", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
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.004365", "end": "2025-12-19 00:14:55.547687", "msg": "", "rc": 0, "start": "2025-12-19 00:14:55.543322", "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.005921", "end": "2025-12-18 21:15:20.920192", "msg": "", "rc": 0, "start": "2025-12-18 21:15:20.914271", "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.013551", "end": "2025-12-19 00:15:21.014317", "msg": "", "rc": 0, "start": "2025-12-19 00:15:21.000766", "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.008055", "end": "2025-12-19 00:15:22.318887", "msg": "", "rc": 0, "start": "2025-12-19 00:15:22.310832", "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.024331", "end": "2025-12-19 00:15:20.996239", "msg": "", "rc": 0, "start": "2025-12-19 00:15:20.971908", "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: 00:15:11 up 23 days, 11:06, 1 user, load average: 0.24, 0.24, 0.18\nDisk Usage: 23%\nMemory Usage: 76.1%\nCPU Load: 0.22\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:11 up 4 days, 13:47, 1 user, load average: 0.98, 0.86, 0.54\nDisk Usage: 22%\nMemory Usage: 21.4%\nCPU Load: 0.91\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:11 up 23 days, 11:26, 1 user, load average: 0.77, 0.82, 0.87\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.03\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:12 up 23 days, 12:39, 1 user, load average: 0.92, 0.79, 0.75\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.93\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:11 up 23 days, 13:25, 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:15:13 up 16 days, 13:41, 1 user, load average: 0.22, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.20\nCPU Temp: 34.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:12 up 195 days, 15:48, 1 user, load average: 0.38, 0.32, 0.21\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.43\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:12 up 195 days, 15:48, 1 user, load average: 0.10, 0.11, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.17\nCPU Temp: 29.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:14:44 up 12 days, 12:04, 0 user, load average: 0.12, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:14:37 up 19 days, 8:16, 0 user, load average: 0.17, 0.09, 0.02\nDisk Usage: 24%\nMemory Usage: 66.1%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:12 up 4 days, 13:46, 2 users, load average: 0.44, 0.15, 0.04\nDisk Usage: 1%\nMemory Usage: 37.2%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:14:40 up 22 days, 3:08, 0 user, load average: 0.36, 0.55, 0.55\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: 00:14:47 up 18 days, 13:30, 0 user, load average: 0.37, 0.56, 0.53\nDisk Usage: 76%\nMemory Usage: 46.0%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:15PM up 23 days, 11:05, 1 user, load averages: 0.16, 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: 00:15:13 up 9:30, 2 users, load average: 0.07, 0.16, 0.13\nDisk Usage: 79%\nMemory Usage: 17.3%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:15:14 up 20:58, 1 user, load average: 1.09, 1.07, 1.00\nDisk Usage: 1%\nMemory Usage: 13.5%\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-19T05:15:23.294372+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `714ab66c8f8f44e8bb4e53b6a08b37f6` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T05:20:00.002953+00:00 |
| **Fin** | 2025-12-19T05:20:21.748465+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp3.i5.home]
ok: [ali2v.xeon.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: [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.003573", "end": "2025-12-19 00:20:10.895243", "msg": "", "rc": 0, "start": "2025-12-19 00:20:10.891670", "stderr": "", "stderr_lines": [], "stdout": " 00:20:10 up 23 days, 11:11, 1 user, load average: 0.21, 0.29, 0.22", "stdout_lines": [" 00:20:10 up 23 days, 11:11, 1 user, load average: 0.21, 0.29, 0.22"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003795", "end": "2025-12-19 00:20:10.906350", "msg": "", "rc": 0, "start": "2025-12-19 00:20:10.902555", "stderr": "", "stderr_lines": [], "stdout": " 00:20:10 up 23 days, 13:30, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 00:20:10 up 23 days, 13:30, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003603", "end": "2025-12-19 00:20:10.917724", "msg": "", "rc": 0, "start": "2025-12-19 00:20:10.914121", "stderr": "", "stderr_lines": [], "stdout": " 00:20:10 up 23 days, 11:31, 1 user, load average: 0.62, 0.73, 0.81", "stdout_lines": [" 00:20:10 up 23 days, 11:31, 1 user, load average: 0.62, 0.73, 0.81"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002814", "end": "2025-12-19 00:20:10.925939", "msg": "", "rc": 0, "start": "2025-12-19 00:20:10.923125", "stderr": "", "stderr_lines": [], "stdout": " 00:20:10 up 4 days, 13:52, 1 user, load average: 0.50, 0.55, 0.49", "stdout_lines": [" 00:20:10 up 4 days, 13:52, 1 user, load average: 0.50, 0.55, 0.49"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004180", "end": "2025-12-19 00:20:10.926143", "msg": "", "rc": 0, "start": "2025-12-19 00:20:10.921963", "stderr": "", "stderr_lines": [], "stdout": " 00:20:10 up 23 days, 12:44, 1 user, load average: 0.91, 0.84, 0.78", "stdout_lines": [" 00:20:10 up 23 days, 12:44, 1 user, load average: 0.91, 0.84, 0.78"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002990", "end": "2025-12-19 00:19:43.460018", "msg": "", "rc": 0, "start": "2025-12-19 00:19:43.457028", "stderr": "", "stderr_lines": [], "stdout": " 00:19:43 up 12 days, 12:09, 0 user, load average: 0.24, 0.09, 0.08", "stdout_lines": [" 00:19:43 up 12 days, 12:09, 0 user, load average: 0.24, 0.09, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004378", "end": "2025-12-19 00:19:36.527345", "msg": "", "rc": 0, "start": "2025-12-19 00:19:36.522967", "stderr": "", "stderr_lines": [], "stdout": " 00:19:36 up 19 days, 8:21, 0 user, load average: 0.51, 0.17, 0.05", "stdout_lines": [" 00:19:36 up 19 days, 8:21, 0 user, load average: 0.51, 0.17, 0.05"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008336", "end": "2025-12-19 00:20:11.588948", "msg": "", "rc": 0, "start": "2025-12-19 00:20:11.580612", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 195 days, 15:53, 1 user, load average: 0.11, 0.10, 0.09", "stdout_lines": [" 00:20:11 up 195 days, 15:53, 1 user, load average: 0.11, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009256", "end": "2025-12-19 00:20:11.645273", "msg": "", "rc": 0, "start": "2025-12-19 00:20:11.636017", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 195 days, 15:53, 1 user, load average: 0.20, 0.21, 0.18", "stdout_lines": [" 00:20:11 up 195 days, 15:53, 1 user, load average: 0.20, 0.21, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005052", "end": "2025-12-19 00:20:11.880376", "msg": "", "rc": 0, "start": "2025-12-19 00:20:11.875324", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 4 days, 13:51, 2 users, load average: 0.01, 0.07, 0.03", "stdout_lines": [" 00:20:11 up 4 days, 13:51, 2 users, load average: 0.01, 0.07, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003411", "end": "2025-12-19 00:19:39.729831", "msg": "", "rc": 0, "start": "2025-12-19 00:19:39.726420", "stderr": "", "stderr_lines": [], "stdout": " 00:19:39 up 22 days, 3:13, 0 user, load average: 0.56, 0.63, 0.60", "stdout_lines": [" 00:19:39 up 22 days, 3:13, 0 user, load average: 0.56, 0.63, 0.60"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002917", "end": "2025-12-19 00:19:46.769642", "msg": "", "rc": 0, "start": "2025-12-19 00:19:46.766725", "stderr": "", "stderr_lines": [], "stdout": " 00:19:46 up 18 days, 13:35, 0 user, load average: 0.44, 0.44, 0.49", "stdout_lines": [" 00:19:46 up 18 days, 13:35, 0 user, load average: 0.44, 0.44, 0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004197", "end": "2025-12-18 21:20:12.111275", "msg": "", "rc": 0, "start": "2025-12-18 21:20:12.107078", "stderr": "", "stderr_lines": [], "stdout": " 9:20PM up 23 days, 11:09, 1 user, load averages: 0.27, 0.28, 0.25", "stdout_lines": [" 9:20PM up 23 days, 11:09, 1 user, load averages: 0.27, 0.28, 0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003741", "end": "2025-12-19 00:20:12.323525", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.319784", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 9:35, 2 users, load average: 0.00, 0.05, 0.08", "stdout_lines": [" 00:20:12 up 9:35, 2 users, load average: 0.00, 0.05, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009046", "end": "2025-12-19 00:20:12.800963", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.791917", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 21:03, 1 user, load average: 1.61, 1.37, 1.14", "stdout_lines": [" 00:20:12 up 21:03, 1 user, load average: 1.61, 1.37, 1.14"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019466", "end": "2025-12-19 00:20:12.294759", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.275293", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 16 days, 13:46, 1 user, load average: 0.13, 0.09, 0.09", "stdout_lines": [" 00:20:12 up 16 days, 13:46, 1 user, load average: 0.13, 0.09, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004702", "end": "2025-12-19 00:20:12.811390", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.806688", "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.004203", "end": "2025-12-19 00:20:12.827969", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.823766", "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.004783", "end": "2025-12-19 00:20:12.853792", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.849009", "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.005027", "end": "2025-12-19 00:20:12.862386", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.857359", "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.005707", "end": "2025-12-19 00:20:12.910249", "msg": "", "rc": 0, "start": "2025-12-19 00:20:12.904542", "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.004622", "end": "2025-12-19 00:19:45.376405", "msg": "", "rc": 0, "start": "2025-12-19 00:19:45.371783", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006596", "end": "2025-12-19 00:19:38.500104", "msg": "", "rc": 0, "start": "2025-12-19 00:19:38.493508", "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.010473", "end": "2025-12-19 00:20:13.561652", "msg": "", "rc": 0, "start": "2025-12-19 00:20:13.551179", "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.011592", "end": "2025-12-19 00:20:13.596552", "msg": "", "rc": 0, "start": "2025-12-19 00:20:13.584960", "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.005601", "end": "2025-12-19 00:20:13.801745", "msg": "", "rc": 0, "start": "2025-12-19 00:20:13.796144", "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.005886", "end": "2025-12-19 00:19:41.702112", "msg": "", "rc": 0, "start": "2025-12-19 00:19:41.696226", "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.005280", "end": "2025-12-19 00:19:48.728391", "msg": "", "rc": 0, "start": "2025-12-19 00:19:48.723111", "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.005300", "end": "2025-12-18 21:20:14.068283", "msg": "", "rc": 0, "start": "2025-12-18 21:20:14.062983", "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.005214", "end": "2025-12-19 00:20:14.211480", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.206266", "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.025230", "end": "2025-12-19 00:20:14.204657", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.179427", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019693", "end": "2025-12-19 00:20:14.854646", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.834953", "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.004431", "end": "2025-12-19 00:20:14.756694", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.752263", "stderr": "", "stderr_lines": [], "stdout": "76.0%", "stdout_lines": ["76.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.004760", "end": "2025-12-19 00:20:14.786070", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.781310", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004142", "end": "2025-12-19 00:20:14.788897", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.784755", "stderr": "", "stderr_lines": [], "stdout": "21.6%", "stdout_lines": ["21.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.004781", "end": "2025-12-19 00:20:14.820903", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.816122", "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.005750", "end": "2025-12-19 00:20:14.831058", "msg": "", "rc": 0, "start": "2025-12-19 00:20:14.825308", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003835", "end": "2025-12-19 00:19:47.322479", "msg": "", "rc": 0, "start": "2025-12-19 00:19:47.318644", "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.004915", "end": "2025-12-19 00:19:40.396970", "msg": "", "rc": 0, "start": "2025-12-19 00:19:40.392055", "stderr": "", "stderr_lines": [], "stdout": "66.1%", "stdout_lines": ["66.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.011082", "end": "2025-12-19 00:20:15.457382", "msg": "", "rc": 0, "start": "2025-12-19 00:20:15.446300", "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.011976", "end": "2025-12-19 00:20:15.497850", "msg": "", "rc": 0, "start": "2025-12-19 00:20:15.485874", "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.005963", "end": "2025-12-19 00:20:15.737261", "msg": "", "rc": 0, "start": "2025-12-19 00:20:15.731298", "stderr": "", "stderr_lines": [], "stdout": "37.0%", "stdout_lines": ["37.0%"]}
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.004340", "end": "2025-12-19 00:19:43.577995", "msg": "", "rc": 0, "start": "2025-12-19 00:19:43.573655", "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.005098", "end": "2025-12-18 21:20:15.953741", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 21:20:15.948643", "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.003784", "end": "2025-12-19 00:19:50.636053", "msg": "", "rc": 0, "start": "2025-12-19 00:19:50.632269", "stderr": "", "stderr_lines": [], "stdout": "45.0%", "stdout_lines": ["45.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.005555", "end": "2025-12-19 00:20:16.162822", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.157267", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.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.010393", "end": "2025-12-19 00:20:16.830930", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.820537", "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.025817", "end": "2025-12-19 00:20:16.141311", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.115494", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004879", "end": "2025-12-19 00:20:16.689861", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.684982", "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.005518", "end": "2025-12-19 00:20:16.691342", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.685824", "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.005692", "end": "2025-12-19 00:20:16.713850", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.708158", "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.006590", "end": "2025-12-19 00:20:16.745074", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.738484", "stderr": "", "stderr_lines": [], "stdout": "51.0°C", "stdout_lines": ["51.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.002829", "end": "2025-12-19 00:20:16.760026", "msg": "", "rc": 0, "start": "2025-12-19 00:20:16.757197", "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.002909", "end": "2025-12-19 00:19:49.241782", "msg": "", "rc": 0, "start": "2025-12-19 00:19:49.238873", "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.003261", "end": "2025-12-19 00:19:42.317325", "msg": "", "rc": 0, "start": "2025-12-19 00:19:42.314064", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013045", "end": "2025-12-19 00:20:17.414302", "msg": "", "rc": 0, "start": "2025-12-19 00:20:17.401257", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011593", "end": "2025-12-19 00:20:17.424113", "msg": "", "rc": 0, "start": "2025-12-19 00:20:17.412520", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°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.003210", "end": "2025-12-19 00:20:17.663924", "msg": "", "rc": 0, "start": "2025-12-19 00:20:17.660714", "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.002733", "end": "2025-12-19 00:19:45.503088", "msg": "", "rc": 0, "start": "2025-12-19 00:19:45.500355", "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 21:20:17.896642", "msg": "", "rc": 0, "start": "2025-12-18 21:20:17.892729", "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.002596", "end": "2025-12-19 00:19:52.609263", "msg": "", "rc": 0, "start": "2025-12-19 00:19:52.606667", "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.002961", "end": "2025-12-19 00:20:18.081784", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.078823", "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.004361", "end": "2025-12-19 00:20:18.838167", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.833806", "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.028651", "end": "2025-12-19 00:20:18.092799", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.064148", "stderr": "", "stderr_lines": [], "stdout": "33.3°C", "stdout_lines": ["33.3°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004255", "end": "2025-12-19 00:20:18.622349", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.618094", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.004119", "end": "2025-12-19 00:20:18.643840", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.639721", "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.005392", "end": "2025-12-19 00:20:18.657293", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.651901", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.005197", "end": "2025-12-19 00:20:18.695296", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.690099", "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.005819", "end": "2025-12-19 00:20:18.699876", "msg": "", "rc": 0, "start": "2025-12-19 00:20:18.694057", "stderr": "", "stderr_lines": [], "stdout": "1.00", "stdout_lines": ["1.00"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004363", "end": "2025-12-19 00:19:51.193803", "msg": "", "rc": 0, "start": "2025-12-19 00:19:51.189440", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005051", "end": "2025-12-19 00:19:44.269990", "msg": "", "rc": 0, "start": "2025-12-19 00:19:44.264939", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010187", "end": "2025-12-19 00:20:19.403042", "msg": "", "rc": 0, "start": "2025-12-19 00:20:19.392855", "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.011084", "end": "2025-12-19 00:20:19.443858", "msg": "", "rc": 0, "start": "2025-12-19 00:20:19.432774", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005603", "end": "2025-12-19 00:20:19.618399", "msg": "", "rc": 0, "start": "2025-12-19 00:20:19.612796", "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.004827", "end": "2025-12-19 00:19:47.447951", "msg": "", "rc": 0, "start": "2025-12-19 00:19:47.443124", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
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.004147", "end": "2025-12-19 00:19:54.573867", "msg": "", "rc": 0, "start": "2025-12-19 00:19:54.569720", "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.005898", "end": "2025-12-18 21:20:19.914783", "msg": "", "rc": 0, "start": "2025-12-18 21:20:19.908885", "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.005292", "end": "2025-12-19 00:20:20.045224", "msg": "", "rc": 0, "start": "2025-12-19 00:20:20.039932", "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.007772", "end": "2025-12-19 00:20:20.875085", "msg": "", "rc": 0, "start": "2025-12-19 00:20:20.867313", "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.024437", "end": "2025-12-19 00:20:20.008563", "msg": "", "rc": 0, "start": "2025-12-19 00:20:19.984126", "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:20:10 up 4 days, 13:52, 1 user, load average: 0.50, 0.55, 0.49\nDisk Usage: 22%\nMemory Usage: 21.6%\nCPU Load: 0.54\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:10 up 23 days, 11:11, 1 user, load average: 0.21, 0.29, 0.22\nDisk Usage: 23%\nMemory Usage: 76.0%\nCPU Load: 0.33\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:10 up 23 days, 11:31, 1 user, load average: 0.62, 0.73, 0.81\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.65\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:10 up 23 days, 12:44, 1 user, load average: 0.91, 0.84, 0.78\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 1.00\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:10 up 23 days, 13:30, 1 user, load average: 0.01, 0.02, 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: 00:20:12 up 16 days, 13:46, 1 user, load average: 0.13, 0.09, 0.09\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.19\nCPU Temp: 33.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 195 days, 15:53, 1 user, load average: 0.20, 0.21, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.41\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 195 days, 15:53, 1 user, load average: 0.11, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.17\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:43 up 12 days, 12:09, 0 user, load average: 0.24, 0.09, 0.08\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:36 up 19 days, 8:21, 0 user, load average: 0.51, 0.17, 0.05\nDisk Usage: 24%\nMemory Usage: 66.1%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 4 days, 13:51, 2 users, load average: 0.01, 0.07, 0.03\nDisk Usage: 1%\nMemory Usage: 37.0%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:39 up 22 days, 3:13, 0 user, load average: 0.56, 0.63, 0.60\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:46 up 18 days, 13:35, 0 user, load average: 0.44, 0.44, 0.49\nDisk Usage: 76%\nMemory Usage: 45.0%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:20PM up 23 days, 11:09, 1 user, load averages: 0.27, 0.28, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:12 up 9:35, 2 users, load average: 0.00, 0.05, 0.08\nDisk Usage: 79%\nMemory Usage: 17.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:12 up 21:03, 1 user, load average: 1.61, 1.37, 1.14\nDisk Usage: 1%\nMemory Usage: 13.3%\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-19T05:20:21.801973+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `df8e6723773c45f0aff7dc89607002cb` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T05:25:00.004497+00:00 |
| **Fin** | 2025-12-19T05:25:22.042818+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: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003790", "end": "2025-12-19 00:25:11.385590", "msg": "", "rc": 0, "start": "2025-12-19 00:25:11.381800", "stderr": "", "stderr_lines": [], "stdout": " 00:25:11 up 23 days, 11:36, 1 user, load average: 0.94, 0.74, 0.78", "stdout_lines": [" 00:25:11 up 23 days, 11:36, 1 user, load average: 0.94, 0.74, 0.78"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003452", "end": "2025-12-19 00:25:11.396047", "msg": "", "rc": 0, "start": "2025-12-19 00:25:11.392595", "stderr": "", "stderr_lines": [], "stdout": " 00:25:11 up 23 days, 13:35, 1 user, load average: 0.05, 0.02, 0.00", "stdout_lines": [" 00:25:11 up 23 days, 13:35, 1 user, load average: 0.05, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003942", "end": "2025-12-19 00:25:11.409507", "msg": "", "rc": 0, "start": "2025-12-19 00:25:11.405565", "stderr": "", "stderr_lines": [], "stdout": " 00:25:11 up 23 days, 12:49, 1 user, load average: 0.90, 0.75, 0.75", "stdout_lines": [" 00:25:11 up 23 days, 12:49, 1 user, load average: 0.90, 0.75, 0.75"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002960", "end": "2025-12-19 00:25:11.423817", "msg": "", "rc": 0, "start": "2025-12-19 00:25:11.420857", "stderr": "", "stderr_lines": [], "stdout": " 00:25:11 up 4 days, 13:57, 1 user, load average: 0.09, 0.30, 0.40", "stdout_lines": [" 00:25:11 up 4 days, 13:57, 1 user, load average: 0.09, 0.30, 0.40"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002959", "end": "2025-12-19 00:24:43.935049", "msg": "", "rc": 0, "start": "2025-12-19 00:24:43.932090", "stderr": "", "stderr_lines": [], "stdout": " 00:24:43 up 12 days, 12:14, 0 user, load average: 0.11, 0.08, 0.08", "stdout_lines": [" 00:24:43 up 12 days, 12:14, 0 user, load average: 0.11, 0.08, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008442", "end": "2025-12-19 00:25:12.070845", "msg": "", "rc": 0, "start": "2025-12-19 00:25:12.062403", "stderr": "", "stderr_lines": [], "stdout": " 00:25:12 up 195 days, 15:58, 1 user, load average: 0.13, 0.14, 0.10", "stdout_lines": [" 00:25:12 up 195 days, 15:58, 1 user, load average: 0.13, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009801", "end": "2025-12-19 00:25:12.128409", "msg": "", "rc": 0, "start": "2025-12-19 00:25:12.118608", "stderr": "", "stderr_lines": [], "stdout": " 00:25:12 up 195 days, 15:58, 1 user, load average: 0.35, 0.25, 0.19", "stdout_lines": [" 00:25:12 up 195 days, 15:58, 1 user, load average: 0.35, 0.25, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004046", "end": "2025-12-19 00:25:12.379075", "msg": "", "rc": 0, "start": "2025-12-19 00:25:11.375029", "stderr": "", "stderr_lines": [], "stdout": " 00:25:11 up 23 days, 11:16, 1 user, load average: 0.31, 0.30, 0.25", "stdout_lines": [" 00:25:11 up 23 days, 11:16, 1 user, load average: 0.31, 0.30, 0.25"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003540", "end": "2025-12-19 00:24:37.442270", "msg": "", "rc": 0, "start": "2025-12-19 00:24:37.438730", "stderr": "", "stderr_lines": [], "stdout": " 00:24:37 up 19 days, 8:26, 0 user, load average: 0.08, 0.08, 0.03", "stdout_lines": [" 00:24:37 up 19 days, 8:26, 0 user, load average: 0.08, 0.08, 0.03"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005029", "end": "2025-12-19 00:25:12.575277", "msg": "", "rc": 0, "start": "2025-12-19 00:25:12.570248", "stderr": "", "stderr_lines": [], "stdout": " 00:25:12 up 4 days, 13:56, 2 users, load average: 0.09, 0.05, 0.02", "stdout_lines": [" 00:25:12 up 4 days, 13:56, 2 users, load average: 0.09, 0.05, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003208", "end": "2025-12-19 00:24:40.393286", "msg": "", "rc": 0, "start": "2025-12-19 00:24:40.390078", "stderr": "", "stderr_lines": [], "stdout": " 00:24:40 up 22 days, 3:18, 0 user, load average: 0.43, 0.50, 0.55", "stdout_lines": [" 00:24:40 up 22 days, 3:18, 0 user, load average: 0.43, 0.50, 0.55"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003467", "end": "2025-12-19 00:24:47.499226", "msg": "", "rc": 0, "start": "2025-12-19 00:24:47.495759", "stderr": "", "stderr_lines": [], "stdout": " 00:24:47 up 18 days, 13:40, 0 user, load average: 0.32, 0.32, 0.41", "stdout_lines": [" 00:24:47 up 18 days, 13:40, 0 user, load average: 0.32, 0.32, 0.41"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004376", "end": "2025-12-18 21:25:12.846842", "msg": "", "rc": 0, "start": "2025-12-18 21:25:12.842466", "stderr": "", "stderr_lines": [], "stdout": " 9:25PM up 23 days, 11:15, 1 user, load averages: 0.15, 0.24, 0.24", "stdout_lines": [" 9:25PM up 23 days, 11:15, 1 user, load averages: 0.15, 0.24, 0.24"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019725", "end": "2025-12-19 00:25:12.775100", "msg": "", "rc": 0, "start": "2025-12-19 00:25:12.755375", "stderr": "", "stderr_lines": [], "stdout": " 00:25:12 up 16 days, 13:51, 1 user, load average: 0.13, 0.09, 0.09", "stdout_lines": [" 00:25:12 up 16 days, 13:51, 1 user, load average: 0.13, 0.09, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003680", "end": "2025-12-19 00:25:12.999786", "msg": "", "rc": 0, "start": "2025-12-19 00:25:12.996106", "stderr": "", "stderr_lines": [], "stdout": " 00:25:12 up 9:40, 2 users, load average: 0.20, 0.10, 0.09", "stdout_lines": [" 00:25:12 up 9:40, 2 users, load average: 0.20, 0.10, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008065", "end": "2025-12-19 00:25:13.141227", "msg": "", "rc": 0, "start": "2025-12-19 00:25:13.133162", "stderr": "", "stderr_lines": [], "stdout": " 00:25:13 up 21:08, 1 user, load average: 1.38, 1.27, 1.16", "stdout_lines": [" 00:25:13 up 21:08, 1 user, load average: 1.38, 1.27, 1.16"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004347", "end": "2025-12-19 00:25:13.493698", "msg": "", "rc": 0, "start": "2025-12-19 00:25:13.489351", "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.004142", "end": "2025-12-19 00:25:13.507783", "msg": "", "rc": 0, "start": "2025-12-19 00:25:13.503641", "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.004789", "end": "2025-12-19 00:25:13.518943", "msg": "", "rc": 0, "start": "2025-12-19 00:25:13.514154", "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.004716", "end": "2025-12-19 00:25:13.552148", "msg": "", "rc": 0, "start": "2025-12-19 00:25:13.547432", "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.005989", "end": "2025-12-19 00:25:13.584219", "msg": "", "rc": 0, "start": "2025-12-19 00:25:13.578230", "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.005466", "end": "2025-12-19 00:24:46.049769", "msg": "", "rc": 0, "start": "2025-12-19 00:24:46.044303", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006153", "end": "2025-12-19 00:24:39.156947", "msg": "", "rc": 0, "start": "2025-12-19 00:24:39.150794", "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.010541", "end": "2025-12-19 00:25:14.234632", "msg": "", "rc": 0, "start": "2025-12-19 00:25:14.224091", "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.011396", "end": "2025-12-19 00:25:14.283652", "msg": "", "rc": 0, "start": "2025-12-19 00:25:14.272256", "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.005937", "end": "2025-12-19 00:25:14.479231", "msg": "", "rc": 0, "start": "2025-12-19 00:25:14.473294", "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.005711", "end": "2025-12-19 00:24:42.359395", "msg": "", "rc": 0, "start": "2025-12-19 00:24:42.353684", "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.004773", "end": "2025-12-19 00:24:49.400997", "msg": "", "rc": 0, "start": "2025-12-19 00:24:49.396224", "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.005354", "end": "2025-12-18 21:25:14.741066", "msg": "", "rc": 0, "start": "2025-12-18 21:25:14.735712", "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.005312", "end": "2025-12-19 00:25:14.899378", "msg": "", "rc": 0, "start": "2025-12-19 00:25:14.894066", "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.025451", "end": "2025-12-19 00:25:14.888051", "msg": "", "rc": 0, "start": "2025-12-19 00:25:14.862600", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021738", "end": "2025-12-19 00:25:15.166098", "msg": "", "rc": 0, "start": "2025-12-19 00:25:15.144360", "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.004476", "end": "2025-12-19 00:25:15.446433", "msg": "", "rc": 0, "start": "2025-12-19 00:25:15.441957", "stderr": "", "stderr_lines": [], "stdout": "76.0%", "stdout_lines": ["76.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.004266", "end": "2025-12-19 00:25:15.452486", "msg": "", "rc": 0, "start": "2025-12-19 00:25:15.448220", "stderr": "", "stderr_lines": [], "stdout": "21.6%", "stdout_lines": ["21.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.004558", "end": "2025-12-19 00:25:15.467075", "msg": "", "rc": 0, "start": "2025-12-19 00:25:15.462517", "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.005189", "end": "2025-12-19 00:25:15.500737", "msg": "", "rc": 0, "start": "2025-12-19 00:25:15.495548", "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.005903", "end": "2025-12-19 00:25:15.528915", "msg": "", "rc": 0, "start": "2025-12-19 00:25:15.523012", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004158", "end": "2025-12-19 00:24:48.014716", "msg": "", "rc": 0, "start": "2025-12-19 00:24:48.010558", "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.004776", "end": "2025-12-19 00:24:41.103124", "msg": "", "rc": 0, "start": "2025-12-19 00:24:41.098348", "stderr": "", "stderr_lines": [], "stdout": "66.1%", "stdout_lines": ["66.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.011136", "end": "2025-12-19 00:25:16.146704", "msg": "", "rc": 0, "start": "2025-12-19 00:25:16.135568", "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.012095", "end": "2025-12-19 00:25:16.182136", "msg": "", "rc": 0, "start": "2025-12-19 00:25:16.170041", "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.005946", "end": "2025-12-19 00:25:16.438369", "msg": "", "rc": 0, "start": "2025-12-19 00:25:16.432423", "stderr": "", "stderr_lines": [], "stdout": "37.3%", "stdout_lines": ["37.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.005097", "end": "2025-12-18 21:25:16.643944", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 21:25:16.638847", "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.004699", "end": "2025-12-19 00:24:44.300539", "msg": "", "rc": 0, "start": "2025-12-19 00:24:44.295840", "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.003974", "end": "2025-12-19 00:24:51.334425", "msg": "", "rc": 0, "start": "2025-12-19 00:24:51.330451", "stderr": "", "stderr_lines": [], "stdout": "46.3%", "stdout_lines": ["46.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.005281", "end": "2025-12-19 00:25:16.859192", "msg": "", "rc": 0, "start": "2025-12-19 00:25:16.853911", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.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.025759", "end": "2025-12-19 00:25:16.843369", "msg": "", "rc": 0, "start": "2025-12-19 00:25:16.817610", "stderr": "", "stderr_lines": [], "stdout": "19.3%", "stdout_lines": ["19.3%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009011", "end": "2025-12-19 00:25:17.189940", "msg": "", "rc": 0, "start": "2025-12-19 00:25:17.180929", "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.005494", "end": "2025-12-19 00:25:17.390723", "msg": "", "rc": 0, "start": "2025-12-19 00:25:17.385229", "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.005044", "end": "2025-12-19 00:25:17.414980", "msg": "", "rc": 0, "start": "2025-12-19 00:25:17.409936", "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.006087", "end": "2025-12-19 00:25:17.426828", "msg": "", "rc": 0, "start": "2025-12-19 00:25:17.420741", "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.003506", "end": "2025-12-19 00:25:17.460082", "msg": "", "rc": 0, "start": "2025-12-19 00:25:17.456576", "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.006272", "end": "2025-12-19 00:25:17.471876", "msg": "", "rc": 0, "start": "2025-12-19 00:25:17.465604", "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.002820", "end": "2025-12-19 00:24:49.959043", "msg": "", "rc": 0, "start": "2025-12-19 00:24:49.956223", "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.003228", "end": "2025-12-19 00:24:43.014508", "msg": "", "rc": 0, "start": "2025-12-19 00:24:43.011280", "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.011793", "end": "2025-12-19 00:25:18.088675", "msg": "", "rc": 0, "start": "2025-12-19 00:25:18.076882", "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.012939", "end": "2025-12-19 00:25:18.130464", "msg": "", "rc": 0, "start": "2025-12-19 00:25:18.117525", "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.003394", "end": "2025-12-19 00:25:18.381728", "msg": "", "rc": 0, "start": "2025-12-19 00:25:18.378334", "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.003122", "end": "2025-12-19 00:24:46.203709", "msg": "", "rc": 0, "start": "2025-12-19 00:24:46.200587", "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.002528", "end": "2025-12-19 00:24:53.265397", "msg": "", "rc": 0, "start": "2025-12-19 00:24:53.262869", "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.003905", "end": "2025-12-18 21:25:18.603373", "msg": "", "rc": 0, "start": "2025-12-18 21:25:18.599468", "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.002907", "end": "2025-12-19 00:25:18.819110", "msg": "", "rc": 0, "start": "2025-12-19 00:25:18.816203", "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.004533", "end": "2025-12-19 00:25:19.190224", "msg": "", "rc": 0, "start": "2025-12-19 00:25:19.185691", "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.028492", "end": "2025-12-19 00:25:18.789777", "msg": "", "rc": 0, "start": "2025-12-19 00:25:18.761285", "stderr": "", "stderr_lines": [], "stdout": "33.9°C", "stdout_lines": ["33.9°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004237", "end": "2025-12-19 00:25:19.289384", "msg": "", "rc": 0, "start": "2025-12-19 00:25:19.285147", "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.004152", "end": "2025-12-19 00:25:19.322064", "msg": "", "rc": 0, "start": "2025-12-19 00:25:19.317912", "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.004786", "end": "2025-12-19 00:25:19.338327", "msg": "", "rc": 0, "start": "2025-12-19 00:25:19.333541", "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.004910", "end": "2025-12-19 00:25:19.358255", "msg": "", "rc": 0, "start": "2025-12-19 00:25:19.353345", "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.005736", "end": "2025-12-19 00:25:19.381109", "msg": "", "rc": 0, "start": "2025-12-19 00:25:19.375373", "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.004710", "end": "2025-12-19 00:24:51.861675", "msg": "", "rc": 0, "start": "2025-12-19 00:24:51.856965", "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.005079", "end": "2025-12-19 00:24:44.926555", "msg": "", "rc": 0, "start": "2025-12-19 00:24:44.921476", "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.009958", "end": "2025-12-19 00:25:20.102279", "msg": "", "rc": 0, "start": "2025-12-19 00:25:20.092321", "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.011279", "end": "2025-12-19 00:25:20.115239", "msg": "", "rc": 0, "start": "2025-12-19 00:25:20.103960", "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.005712", "end": "2025-12-19 00:25:20.291885", "msg": "", "rc": 0, "start": "2025-12-19 00:25:20.286173", "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.004774", "end": "2025-12-19 00:24:48.095336", "msg": "", "rc": 0, "start": "2025-12-19 00:24:48.090562", "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.006617", "end": "2025-12-18 21:25:20.587094", "msg": "", "rc": 0, "start": "2025-12-18 21:25:20.580477", "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.004080", "end": "2025-12-19 00:24:55.282539", "msg": "", "rc": 0, "start": "2025-12-19 00:24:55.278459", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005494", "end": "2025-12-19 00:25:20.712937", "msg": "", "rc": 0, "start": "2025-12-19 00:25:20.707443", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008716", "end": "2025-12-19 00:25:21.160979", "msg": "", "rc": 0, "start": "2025-12-19 00:25:21.152263", "stderr": "", "stderr_lines": [], "stdout": "1.47", "stdout_lines": ["1.47"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024386", "end": "2025-12-19 00:25:20.670609", "msg": "", "rc": 0, "start": "2025-12-19 00:25:20.646223", "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: 00:25:11 up 23 days, 11:16, 1 user, load average: 0.31, 0.30, 0.25\nDisk Usage: 23%\nMemory Usage: 76.0%\nCPU Load: 0.34\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:11 up 23 days, 11:36, 1 user, load average: 0.94, 0.74, 0.78\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.95\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:11 up 4 days, 13:57, 1 user, load average: 0.09, 0.30, 0.40\nDisk Usage: 22%\nMemory Usage: 21.6%\nCPU Load: 0.23\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:11 up 23 days, 12:49, 1 user, load average: 0.90, 0.75, 0.75\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.84\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:11 up 23 days, 13:35, 1 user, load average: 0.05, 0.02, 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: 00:25:12 up 16 days, 13:51, 1 user, load average: 0.13, 0.09, 0.09\nDisk Usage: 21%\nMemory Usage: 19.3%\nCPU Load: 0.19\nCPU Temp: 33.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:12 up 195 days, 15:58, 1 user, load average: 0.35, 0.25, 0.19\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.46\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:12 up 195 days, 15:58, 1 user, load average: 0.13, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.11\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:24:43 up 12 days, 12:14, 0 user, load average: 0.11, 0.08, 0.08\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:24:37 up 19 days, 8:26, 0 user, load average: 0.08, 0.08, 0.03\nDisk Usage: 24%\nMemory Usage: 66.1%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:12 up 4 days, 13:56, 2 users, load average: 0.09, 0.05, 0.02\nDisk Usage: 1%\nMemory Usage: 37.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:24:40 up 22 days, 3:18, 0 user, load average: 0.43, 0.50, 0.55\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: 00:24:47 up 18 days, 13:40, 0 user, load average: 0.32, 0.32, 0.41\nDisk Usage: 76%\nMemory Usage: 46.3%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:25PM up 23 days, 11:15, 1 user, load averages: 0.15, 0.24, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:12 up 9:40, 2 users, load average: 0.20, 0.10, 0.09\nDisk Usage: 79%\nMemory Usage: 17.0%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:25:13 up 21:08, 1 user, load average: 1.38, 1.27, 1.16\nDisk Usage: 1%\nMemory Usage: 13.3%\nCPU Load: 1.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T05:25:22.106516+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `21c427dfc34349319da1b1c48931c48d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T05:45:00.007255+00:00 |
| **Fin** | 2025-12-19T05:45:22.028870+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: [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: [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.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.003487", "end": "2025-12-19 00:45:11.776054", "msg": "", "rc": 0, "start": "2025-12-19 00:45:11.772567", "stderr": "", "stderr_lines": [], "stdout": " 00:45:11 up 23 days, 11:56, 1 user, load average: 0.22, 0.53, 0.67", "stdout_lines": [" 00:45:11 up 23 days, 11:56, 1 user, load average: 0.22, 0.53, 0.67"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003631", "end": "2025-12-19 00:45:11.777956", "msg": "", "rc": 0, "start": "2025-12-19 00:45:11.774325", "stderr": "", "stderr_lines": [], "stdout": " 00:45:11 up 23 days, 11:36, 1 user, load average: 0.47, 0.39, 0.32", "stdout_lines": [" 00:45:11 up 23 days, 11:36, 1 user, load average: 0.47, 0.39, 0.32"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003631", "end": "2025-12-19 00:45:11.780252", "msg": "", "rc": 0, "start": "2025-12-19 00:45:11.776621", "stderr": "", "stderr_lines": [], "stdout": " 00:45:11 up 23 days, 13:55, 1 user, load average: 0.14, 0.08, 0.03", "stdout_lines": [" 00:45:11 up 23 days, 13:55, 1 user, load average: 0.14, 0.08, 0.03"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004311", "end": "2025-12-19 00:45:11.804019", "msg": "", "rc": 0, "start": "2025-12-19 00:45:11.799708", "stderr": "", "stderr_lines": [], "stdout": " 00:45:11 up 23 days, 13:09, 1 user, load average: 1.15, 0.77, 0.72", "stdout_lines": [" 00:45:11 up 23 days, 13:09, 1 user, load average: 1.15, 0.77, 0.72"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002932", "end": "2025-12-19 00:45:11.806308", "msg": "", "rc": 0, "start": "2025-12-19 00:45:11.803376", "stderr": "", "stderr_lines": [], "stdout": " 00:45:11 up 4 days, 14:17, 1 user, load average: 0.13, 0.17, 0.24", "stdout_lines": [" 00:45:11 up 4 days, 14:17, 1 user, load average: 0.13, 0.17, 0.24"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002788", "end": "2025-12-19 00:44:44.293831", "msg": "", "rc": 0, "start": "2025-12-19 00:44:44.291043", "stderr": "", "stderr_lines": [], "stdout": " 00:44:44 up 12 days, 12:34, 0 user, load average: 0.04, 0.09, 0.09", "stdout_lines": [" 00:44:44 up 12 days, 12:34, 0 user, load average: 0.04, 0.09, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003298", "end": "2025-12-19 00:44:37.357423", "msg": "", "rc": 0, "start": "2025-12-19 00:44:37.354125", "stderr": "", "stderr_lines": [], "stdout": " 00:44:37 up 19 days, 8:46, 0 user, load average: 0.15, 0.05, 0.01", "stdout_lines": [" 00:44:37 up 19 days, 8:46, 0 user, load average: 0.15, 0.05, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008367", "end": "2025-12-19 00:45:12.452958", "msg": "", "rc": 0, "start": "2025-12-19 00:45:12.444591", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 195 days, 16:18, 1 user, load average: 0.26, 0.16, 0.11", "stdout_lines": [" 00:45:12 up 195 days, 16:18, 1 user, load average: 0.26, 0.16, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009254", "end": "2025-12-19 00:45:12.519753", "msg": "", "rc": 0, "start": "2025-12-19 00:45:12.510499", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 195 days, 16:18, 1 user, load average: 0.36, 0.21, 0.19", "stdout_lines": [" 00:45:12 up 195 days, 16:18, 1 user, load average: 0.36, 0.21, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005063", "end": "2025-12-19 00:45:12.725741", "msg": "", "rc": 0, "start": "2025-12-19 00:45:12.720678", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 4 days, 14:16, 2 users, load average: 0.06, 0.05, 0.00", "stdout_lines": [" 00:45:12 up 4 days, 14:16, 2 users, load average: 0.06, 0.05, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003631", "end": "2025-12-19 00:44:40.533423", "msg": "", "rc": 0, "start": "2025-12-19 00:44:40.529792", "stderr": "", "stderr_lines": [], "stdout": " 00:44:40 up 22 days, 3:38, 0 user, load average: 0.39, 0.46, 0.45", "stdout_lines": [" 00:44:40 up 22 days, 3:38, 0 user, load average: 0.39, 0.46, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002812", "end": "2025-12-19 00:44:47.595255", "msg": "", "rc": 0, "start": "2025-12-19 00:44:47.592443", "stderr": "", "stderr_lines": [], "stdout": " 00:44:47 up 18 days, 14:00, 0 user, load average: 0.17, 0.12, 0.20", "stdout_lines": [" 00:44:47 up 18 days, 14:00, 0 user, load average: 0.17, 0.12, 0.20"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004256", "end": "2025-12-18 21:45:12.983594", "msg": "", "rc": 0, "start": "2025-12-18 21:45:12.979338", "stderr": "", "stderr_lines": [], "stdout": " 9:45PM up 23 days, 11:35, 1 user, load averages: 0.31, 0.31, 0.26", "stdout_lines": [" 9:45PM up 23 days, 11:35, 1 user, load averages: 0.31, 0.31, 0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003930", "end": "2025-12-19 00:45:13.153434", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.149504", "stderr": "", "stderr_lines": [], "stdout": " 00:45:13 up 10:00, 2 users, load average: 0.07, 0.02, 0.01", "stdout_lines": [" 00:45:13 up 10:00, 2 users, load average: 0.07, 0.02, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004977", "end": "2025-12-19 00:45:14.574158", "msg": "", "rc": 0, "start": "2025-12-19 00:45:14.569181", "stderr": "", "stderr_lines": [], "stdout": " 00:45:14 up 21:29, 1 user, load average: 1.19, 0.57, 0.78", "stdout_lines": [" 00:45:14 up 21:29, 1 user, load average: 1.19, 0.57, 0.78"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019495", "end": "2025-12-19 00:45:13.157984", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.138489", "stderr": "", "stderr_lines": [], "stdout": " 00:45:13 up 16 days, 14:11, 1 user, load average: 0.15, 0.08, 0.09", "stdout_lines": [" 00:45:13 up 16 days, 14:11, 1 user, load average: 0.15, 0.08, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004301", "end": "2025-12-19 00:45:13.686492", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.682191", "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.004139", "end": "2025-12-19 00:45:13.692549", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.688410", "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.004834", "end": "2025-12-19 00:45:13.713869", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.709035", "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.004855", "end": "2025-12-19 00:45:13.738745", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.733890", "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.005433", "end": "2025-12-19 00:45:13.740617", "msg": "", "rc": 0, "start": "2025-12-19 00:45:13.735184", "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.004860", "end": "2025-12-19 00:44:46.215279", "msg": "", "rc": 0, "start": "2025-12-19 00:44:46.210419", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005418", "end": "2025-12-19 00:44:39.271618", "msg": "", "rc": 0, "start": "2025-12-19 00:44:39.266200", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010640", "end": "2025-12-19 00:45:14.429225", "msg": "", "rc": 0, "start": "2025-12-19 00:45:14.418585", "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.011479", "end": "2025-12-19 00:45:14.464377", "msg": "", "rc": 0, "start": "2025-12-19 00:45:14.452898", "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.005737", "end": "2025-12-19 00:45:14.657737", "msg": "", "rc": 0, "start": "2025-12-19 00:45:14.652000", "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.005615", "end": "2025-12-19 00:44:42.443235", "msg": "", "rc": 0, "start": "2025-12-19 00:44:42.437620", "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 21:45:14.924907", "msg": "", "rc": 0, "start": "2025-12-18 21:45:14.919516", "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.005206", "end": "2025-12-19 00:44:49.591354", "msg": "", "rc": 0, "start": "2025-12-19 00:44:49.586148", "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.005343", "end": "2025-12-19 00:45:15.092069", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.086726", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007651", "end": "2025-12-19 00:45:15.173509", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.165858", "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.025680", "end": "2025-12-19 00:45:15.083094", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.057414", "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.004576", "end": "2025-12-19 00:45:15.607032", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.602456", "stderr": "", "stderr_lines": [], "stdout": "76.2%", "stdout_lines": ["76.2%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004780", "end": "2025-12-19 00:45:15.613249", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.608469", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004272", "end": "2025-12-19 00:45:15.627713", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.623441", "stderr": "", "stderr_lines": [], "stdout": "21.5%", "stdout_lines": ["21.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.005110", "end": "2025-12-19 00:45:15.652168", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.647058", "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.005371", "end": "2025-12-19 00:45:15.663009", "msg": "", "rc": 0, "start": "2025-12-19 00:45:15.657638", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004106", "end": "2025-12-19 00:44:48.141795", "msg": "", "rc": 0, "start": "2025-12-19 00:44:48.137689", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004360", "end": "2025-12-19 00:44:41.196810", "msg": "", "rc": 0, "start": "2025-12-19 00:44:41.192450", "stderr": "", "stderr_lines": [], "stdout": "65.9%", "stdout_lines": ["65.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.010853", "end": "2025-12-19 00:45:16.293149", "msg": "", "rc": 0, "start": "2025-12-19 00:45:16.282296", "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.011860", "end": "2025-12-19 00:45:16.332123", "msg": "", "rc": 0, "start": "2025-12-19 00:45:16.320263", "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.006027", "end": "2025-12-19 00:45:16.548647", "msg": "", "rc": 0, "start": "2025-12-19 00:45:16.542620", "stderr": "", "stderr_lines": [], "stdout": "37.2%", "stdout_lines": ["37.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.004328", "end": "2025-12-19 00:44:44.358234", "msg": "", "rc": 0, "start": "2025-12-19 00:44:44.353906", "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.003927", "end": "2025-12-19 00:44:51.420590", "msg": "", "rc": 0, "start": "2025-12-19 00:44:51.416663", "stderr": "", "stderr_lines": [], "stdout": "44.9%", "stdout_lines": ["44.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.005070", "end": "2025-12-18 21:45:16.791536", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 21:45:16.786466", "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.005358", "end": "2025-12-19 00:45:16.972679", "msg": "", "rc": 0, "start": "2025-12-19 00:45:16.967321", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.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.008394", "end": "2025-12-19 00:45:17.219694", "msg": "", "rc": 0, "start": "2025-12-19 00:45:17.211300", "stderr": "", "stderr_lines": [], "stdout": "14.3%", "stdout_lines": ["14.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.025870", "end": "2025-12-19 00:45:17.001188", "msg": "", "rc": 0, "start": "2025-12-19 00:45:16.975318", "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.005419", "end": "2025-12-19 00:45:17.512646", "msg": "", "rc": 0, "start": "2025-12-19 00:45:17.507227", "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.004867", "end": "2025-12-19 00:45:17.526643", "msg": "", "rc": 0, "start": "2025-12-19 00:45:17.521776", "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.005638", "end": "2025-12-19 00:45:17.525090", "msg": "", "rc": 0, "start": "2025-12-19 00:45:17.519452", "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.006510", "end": "2025-12-19 00:45:17.560741", "msg": "", "rc": 0, "start": "2025-12-19 00:45:17.554231", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.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.003179", "end": "2025-12-19 00:45:17.562682", "msg": "", "rc": 0, "start": "2025-12-19 00:45:17.559503", "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.002737", "end": "2025-12-19 00:44:50.059299", "msg": "", "rc": 0, "start": "2025-12-19 00:44:50.056562", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003137", "end": "2025-12-19 00:44:43.121525", "msg": "", "rc": 0, "start": "2025-12-19 00:44:43.118388", "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.011527", "end": "2025-12-19 00:45:18.227536", "msg": "", "rc": 0, "start": "2025-12-19 00:45:18.216009", "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.013226", "end": "2025-12-19 00:45:18.247620", "msg": "", "rc": 0, "start": "2025-12-19 00:45:18.234394", "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.003212", "end": "2025-12-19 00:45:18.495929", "msg": "", "rc": 0, "start": "2025-12-19 00:45:18.492717", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002921", "end": "2025-12-19 00:44:46.290832", "msg": "", "rc": 0, "start": "2025-12-19 00:44:46.287911", "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.003988", "end": "2025-12-18 21:45:18.715001", "msg": "", "rc": 0, "start": "2025-12-18 21:45:18.711013", "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.002631", "end": "2025-12-19 00:44:53.386191", "msg": "", "rc": 0, "start": "2025-12-19 00:44:53.383560", "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.002935", "end": "2025-12-19 00:45:18.911996", "msg": "", "rc": 0, "start": "2025-12-19 00:45:18.909061", "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.004460", "end": "2025-12-19 00:45:19.177931", "msg": "", "rc": 0, "start": "2025-12-19 00:45:19.173471", "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.028556", "end": "2025-12-19 00:45:18.932357", "msg": "", "rc": 0, "start": "2025-12-19 00:45:18.903801", "stderr": "", "stderr_lines": [], "stdout": "33.8°C", "stdout_lines": ["33.8°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004437", "end": "2025-12-19 00:45:19.457953", "msg": "", "rc": 0, "start": "2025-12-19 00:45:19.453516", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
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.004222", "end": "2025-12-19 00:45:19.463116", "msg": "", "rc": 0, "start": "2025-12-19 00:45:19.458894", "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.004645", "end": "2025-12-19 00:45:19.485712", "msg": "", "rc": 0, "start": "2025-12-19 00:45:19.481067", "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.005610", "end": "2025-12-19 00:45:19.512398", "msg": "", "rc": 0, "start": "2025-12-19 00:45:19.506788", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005449", "end": "2025-12-19 00:45:19.519110", "msg": "", "rc": 0, "start": "2025-12-19 00:45:19.513661", "stderr": "", "stderr_lines": [], "stdout": "0.97", "stdout_lines": ["0.97"]}
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.004819", "end": "2025-12-19 00:44:51.992776", "msg": "", "rc": 0, "start": "2025-12-19 00:44:51.987957", "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.005291", "end": "2025-12-19 00:44:45.061066", "msg": "", "rc": 0, "start": "2025-12-19 00:44:45.055775", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010576", "end": "2025-12-19 00:45:20.265677", "msg": "", "rc": 0, "start": "2025-12-19 00:45:20.255101", "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.011399", "end": "2025-12-19 00:45:20.257153", "msg": "", "rc": 0, "start": "2025-12-19 00:45:20.245754", "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.005960", "end": "2025-12-19 00:45:20.423503", "msg": "", "rc": 0, "start": "2025-12-19 00:45:20.417543", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.004983", "end": "2025-12-19 00:44:48.251094", "msg": "", "rc": 0, "start": "2025-12-19 00:44:48.246111", "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.005871", "end": "2025-12-18 21:45:20.739866", "msg": "", "rc": 0, "start": "2025-12-18 21:45:20.733995", "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.004023", "end": "2025-12-19 00:44:55.430474", "msg": "", "rc": 0, "start": "2025-12-19 00:44:55.426451", "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.005198", "end": "2025-12-19 00:45:20.836757", "msg": "", "rc": 0, "start": "2025-12-19 00:45:20.831559", "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.008459", "end": "2025-12-19 00:45:21.219621", "msg": "", "rc": 0, "start": "2025-12-19 00:45:21.211162", "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.024153", "end": "2025-12-19 00:45:20.830935", "msg": "", "rc": 0, "start": "2025-12-19 00:45:20.806782", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:11 up 4 days, 14:17, 1 user, load average: 0.13, 0.17, 0.24\nDisk Usage: 22%\nMemory Usage: 21.5%\nCPU Load: 0.27\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:11 up 23 days, 11:36, 1 user, load average: 0.47, 0.39, 0.32\nDisk Usage: 23%\nMemory Usage: 76.2%\nCPU Load: 0.59\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:11 up 23 days, 11:56, 1 user, load average: 0.22, 0.53, 0.67\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:45:11 up 23 days, 13:09, 1 user, load average: 1.15, 0.77, 0.72\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.97\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:11 up 23 days, 13:55, 1 user, load average: 0.14, 0.08, 0.03\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:13 up 16 days, 14:11, 1 user, load average: 0.15, 0.08, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.20\nCPU Temp: 33.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 195 days, 16:18, 1 user, load average: 0.36, 0.21, 0.19\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.37\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 195 days, 16:18, 1 user, load average: 0.26, 0.16, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.30\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:44 up 12 days, 12:34, 0 user, load average: 0.04, 0.09, 0.09\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:37 up 19 days, 8:46, 0 user, load average: 0.15, 0.05, 0.01\nDisk Usage: 24%\nMemory Usage: 65.9%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 4 days, 14:16, 2 users, load average: 0.06, 0.05, 0.00\nDisk Usage: 1%\nMemory Usage: 37.2%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:40 up 22 days, 3:38, 0 user, load average: 0.39, 0.46, 0.45\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: 00:44:47 up 18 days, 14:00, 0 user, load average: 0.17, 0.12, 0.20\nDisk Usage: 76%\nMemory Usage: 44.9%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:45PM up 23 days, 11:35, 1 user, load averages: 0.31, 0.31, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:13 up 10:00, 2 users, load average: 0.07, 0.02, 0.01\nDisk Usage: 79%\nMemory Usage: 16.9%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:14 up 21:29, 1 user, load average: 1.19, 0.57, 0.78\nDisk Usage: 1%\nMemory Usage: 14.3%\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-19T05:45:22.090962+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `3bf96ecd23ee4146b8d9a1111f2f03fb` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T16:35:00.006375+00:00 |
| **Fin** | 2025-12-19T16:35:30.596992+00:00 |
| **Durée** | 30.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.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: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"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.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: [orangepi.pc.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003174", "end": "2025-12-19 11:35:17.139610", "msg": "", "rc": 0, "start": "2025-12-19 11:35:17.136436", "stderr": "", "stderr_lines": [], "stdout": " 11:35:17 up 23 days, 22:26, 1 user, load average: 0.36, 0.34, 0.22", "stdout_lines": [" 11:35:17 up 23 days, 22:26, 1 user, load average: 0.36, 0.34, 0.22"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003833", "end": "2025-12-19 11:35:17.148864", "msg": "", "rc": 0, "start": "2025-12-19 11:35:17.145031", "stderr": "", "stderr_lines": [], "stdout": " 11:35:17 up 24 days, 45 min, 1 user, load average: 0.04, 0.01, 0.00", "stdout_lines": [" 11:35:17 up 24 days, 45 min, 1 user, load average: 0.04, 0.01, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003491", "end": "2025-12-19 11:35:17.159326", "msg": "", "rc": 0, "start": "2025-12-19 11:35:17.155835", "stderr": "", "stderr_lines": [], "stdout": " 11:35:17 up 23 days, 22:46, 1 user, load average: 1.40, 1.06, 0.90", "stdout_lines": [" 11:35:17 up 23 days, 22:46, 1 user, load average: 1.40, 1.06, 0.90"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002939", "end": "2025-12-19 11:35:17.175205", "msg": "", "rc": 0, "start": "2025-12-19 11:35:17.172266", "stderr": "", "stderr_lines": [], "stdout": " 11:35:17 up 2:19, 1 user, load average: 0.37, 0.56, 0.48", "stdout_lines": [" 11:35:17 up 2:19, 1 user, load average: 0.37, 0.56, 0.48"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004150", "end": "2025-12-19 11:35:17.173505", "msg": "", "rc": 0, "start": "2025-12-19 11:35:17.169355", "stderr": "", "stderr_lines": [], "stdout": " 11:35:17 up 23 days, 23:59, 1 user, load average: 0.81, 0.61, 0.56", "stdout_lines": [" 11:35:17 up 23 days, 23:59, 1 user, load average: 0.81, 0.61, 0.56"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002901", "end": "2025-12-19 11:34:49.516491", "msg": "", "rc": 0, "start": "2025-12-19 11:34:49.513590", "stderr": "", "stderr_lines": [], "stdout": " 11:34:49 up 12 days, 23:24, 0 user, load average: 0.63, 0.37, 0.20", "stdout_lines": [" 11:34:49 up 12 days, 23:24, 0 user, load average: 0.63, 0.37, 0.20"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003623", "end": "2025-12-19 11:34:42.505192", "msg": "", "rc": 0, "start": "2025-12-19 11:34:42.501569", "stderr": "", "stderr_lines": [], "stdout": " 11:34:42 up 19 days, 19:36, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 11:34:42 up 19 days, 19:36, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009226", "end": "2025-12-19 11:35:18.165390", "msg": "", "rc": 0, "start": "2025-12-19 11:35:18.156164", "stderr": "", "stderr_lines": [], "stdout": " 11:35:18 up 196 days, 3:08, 1 user, load average: 0.18, 0.15, 0.10", "stdout_lines": [" 11:35:18 up 196 days, 3:08, 1 user, load average: 0.18, 0.15, 0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008489", "end": "2025-12-19 11:35:18.187977", "msg": "", "rc": 0, "start": "2025-12-19 11:35:18.179488", "stderr": "", "stderr_lines": [], "stdout": " 11:35:18 up 196 days, 3:08, 1 user, load average: 0.04, 0.10, 0.09", "stdout_lines": [" 11:35:18 up 196 days, 3:08, 1 user, load average: 0.04, 0.10, 0.09"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008519", "end": "2025-12-19 11:35:18.646635", "msg": "", "rc": 0, "start": "2025-12-19 11:35:18.638116", "stderr": "", "stderr_lines": [], "stdout": " 11:35:18 up 2:18, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 11:35:18 up 2:18, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004172", "end": "2025-12-19 08:35:18.904402", "msg": "", "rc": 0, "start": "2025-12-19 08:35:18.900230", "stderr": "", "stderr_lines": [], "stdout": " 8:35AM up 23 days, 22:25, 1 user, load averages: 0.31, 0.27, 0.21", "stdout_lines": [" 8:35AM up 23 days, 22:25, 1 user, load averages: 0.31, 0.27, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008158", "end": "2025-12-19 11:34:53.084908", "msg": "", "rc": 0, "start": "2025-12-19 11:34:53.076750", "stderr": "", "stderr_lines": [], "stdout": " 11:34:53 up 19 days, 50 min, 0 user, load average: 0.87, 0.51, 0.33", "stdout_lines": [" 11:34:53 up 19 days, 50 min, 0 user, load average: 0.87, 0.51, 0.33"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003433", "end": "2025-12-19 11:34:45.947015", "msg": "", "rc": 0, "start": "2025-12-19 11:34:45.943582", "stderr": "", "stderr_lines": [], "stdout": " 11:34:45 up 22 days, 14:29, 0 user, load average: 0.34, 0.42, 0.44", "stdout_lines": [" 11:34:45 up 22 days, 14:29, 0 user, load average: 0.34, 0.42, 0.44"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.022504", "end": "2025-12-19 11:35:18.856685", "msg": "", "rc": 0, "start": "2025-12-19 11:35:18.834181", "stderr": "", "stderr_lines": [], "stdout": " 11:35:18 up 17 days, 1:01, 1 user, load average: 0.40, 0.15, 0.05", "stdout_lines": [" 11:35:18 up 17 days, 1:01, 1 user, load average: 0.40, 0.15, 0.05"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007032", "end": "2025-12-19 11:35:19.339573", "msg": "", "rc": 0, "start": "2025-12-19 11:35:19.332541", "stderr": "", "stderr_lines": [], "stdout": " 11:35:19 up 2:18, 1 user, load average: 0.00, 0.03, 0.03", "stdout_lines": [" 11:35:19 up 2:18, 1 user, load average: 0.00, 0.03, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.022197", "end": "2025-12-19 11:35:21.840573", "msg": "", "rc": 0, "start": "2025-12-19 11:35:21.818376", "stderr": "", "stderr_lines": [], "stdout": " 11:35:21 up 21:35, 1 user, load average: 2.57, 1.72, 1.22", "stdout_lines": [" 11:35:21 up 21:35, 1 user, load average: 2.57, 1.72, 1.22"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004588", "end": "2025-12-19 11:35:20.614451", "msg": "", "rc": 0, "start": "2025-12-19 11:35:20.609863", "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.004075", "end": "2025-12-19 11:35:20.647236", "msg": "", "rc": 0, "start": "2025-12-19 11:35:20.643161", "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.004665", "end": "2025-12-19 11:35:20.690195", "msg": "", "rc": 0, "start": "2025-12-19 11:35:20.685530", "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.005526", "end": "2025-12-19 11:35:20.744009", "msg": "", "rc": 0, "start": "2025-12-19 11:35:20.738483", "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.004699", "end": "2025-12-19 11:35:20.739752", "msg": "", "rc": 0, "start": "2025-12-19 11:35:20.735053", "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.005227", "end": "2025-12-19 11:34:53.001395", "msg": "", "rc": 0, "start": "2025-12-19 11:34:52.996168", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005565", "end": "2025-12-19 11:34:45.949966", "msg": "", "rc": 0, "start": "2025-12-19 11:34:45.944401", "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.010374", "end": "2025-12-19 11:35:21.569919", "msg": "", "rc": 0, "start": "2025-12-19 11:35:21.559545", "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.011543", "end": "2025-12-19 11:35:21.573635", "msg": "", "rc": 0, "start": "2025-12-19 11:35:21.562092", "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.006685", "end": "2025-12-19 11:35:22.216668", "msg": "", "rc": 0, "start": "2025-12-19 11:35:22.209983", "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.005432", "end": "2025-12-19 08:35:22.375989", "msg": "", "rc": 0, "start": "2025-12-19 08:35:22.370557", "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.005461", "end": "2025-12-19 11:34:49.403027", "msg": "", "rc": 0, "start": "2025-12-19 11:34:49.397566", "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.008597", "end": "2025-12-19 11:34:56.593496", "msg": "", "rc": 0, "start": "2025-12-19 11:34:56.584899", "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.027068", "end": "2025-12-19 11:35:22.345427", "msg": "", "rc": 0, "start": "2025-12-19 11:35:22.318359", "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.007687", "end": "2025-12-19 11:35:22.805767", "msg": "", "rc": 0, "start": "2025-12-19 11:35:22.798080", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.016817", "end": "2025-12-19 11:35:25.077903", "msg": "", "rc": 0, "start": "2025-12-19 11:35:25.061086", "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.004259", "end": "2025-12-19 11:35:23.210274", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.206015", "stderr": "", "stderr_lines": [], "stdout": "75.9%", "stdout_lines": ["75.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.004928", "end": "2025-12-19 11:35:23.227058", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.222130", "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.004455", "end": "2025-12-19 11:35:23.235710", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.231255", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.005215", "end": "2025-12-19 11:35:23.270778", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.265563", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005542", "end": "2025-12-19 11:35:23.270709", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.265167", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004289", "end": "2025-12-19 11:34:55.281584", "msg": "", "rc": 0, "start": "2025-12-19 11:34:55.277295", "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.004399", "end": "2025-12-19 11:34:48.187348", "msg": "", "rc": 0, "start": "2025-12-19 11:34:48.182949", "stderr": "", "stderr_lines": [], "stdout": "66.6%", "stdout_lines": ["66.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.010976", "end": "2025-12-19 11:35:23.947190", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.936214", "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.011780", "end": "2025-12-19 11:35:23.975803", "msg": "", "rc": 0, "start": "2025-12-19 11:35:23.964023", "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.008945", "end": "2025-12-19 11:35:24.181683", "msg": "", "rc": 0, "start": "2025-12-19 11:35:24.172738", "stderr": "", "stderr_lines": [], "stdout": "16.6%", "stdout_lines": ["16.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.004331", "end": "2025-12-19 11:34:51.335521", "msg": "", "rc": 0, "start": "2025-12-19 11:34:51.331190", "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.005237", "end": "2025-12-19 08:35:24.434129", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 08:35:24.428892", "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.009303", "end": "2025-12-19 11:34:58.619750", "msg": "", "rc": 0, "start": "2025-12-19 11:34:58.610447", "stderr": "", "stderr_lines": [], "stdout": "62.6%", "stdout_lines": ["62.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.005983", "end": "2025-12-19 11:35:24.618074", "msg": "", "rc": 0, "start": "2025-12-19 11:35:24.612091", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.011125", "end": "2025-12-19 11:35:27.062448", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.051323", "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.034565", "end": "2025-12-19 11:35:24.949939", "msg": "", "rc": 0, "start": "2025-12-19 11:35:24.915374", "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.005244", "end": "2025-12-19 11:35:25.529727", "msg": "", "rc": 0, "start": "2025-12-19 11:35:25.524483", "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.004857", "end": "2025-12-19 11:35:25.552384", "msg": "", "rc": 0, "start": "2025-12-19 11:35:25.547527", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003229", "end": "2025-12-19 11:35:25.566608", "msg": "", "rc": 0, "start": "2025-12-19 11:35:25.563379", "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.005647", "end": "2025-12-19 11:35:25.569603", "msg": "", "rc": 0, "start": "2025-12-19 11:35:25.563956", "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.006710", "end": "2025-12-19 11:35:25.575335", "msg": "", "rc": 0, "start": "2025-12-19 11:35:25.568625", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002447", "end": "2025-12-19 11:34:57.576586", "msg": "", "rc": 0, "start": "2025-12-19 11:34:57.574139", "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.003191", "end": "2025-12-19 11:34:50.487506", "msg": "", "rc": 0, "start": "2025-12-19 11:34:50.484315", "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.011631", "end": "2025-12-19 11:35:26.223236", "msg": "", "rc": 0, "start": "2025-12-19 11:35:26.211605", "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.013031", "end": "2025-12-19 11:35:26.279108", "msg": "", "rc": 0, "start": "2025-12-19 11:35:26.266077", "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.003089", "end": "2025-12-19 11:35:26.478318", "msg": "", "rc": 0, "start": "2025-12-19 11:35:26.475229", "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.003170", "end": "2025-12-19 11:34:53.654240", "msg": "", "rc": 0, "start": "2025-12-19 11:34:53.651070", "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.002498", "end": "2025-12-19 11:35:00.897232", "msg": "", "rc": 0, "start": "2025-12-19 11:35:00.894734", "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.003887", "end": "2025-12-19 08:35:26.725338", "msg": "", "rc": 0, "start": "2025-12-19 08:35:26.721451", "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.002882", "end": "2025-12-19 11:35:26.890754", "msg": "", "rc": 0, "start": "2025-12-19 11:35:26.887872", "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.017897", "end": "2025-12-19 11:35:27.092317", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.074420", "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.031427", "end": "2025-12-19 11:35:27.249240", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.217813", "stderr": "", "stderr_lines": [], "stdout": "40.0°C", "stdout_lines": ["40.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004129", "end": "2025-12-19 11:35:27.820485", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.816356", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
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.004267", "end": "2025-12-19 11:35:27.839160", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.834893", "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.004611", "end": "2025-12-19 11:35:27.868469", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.863858", "stderr": "", "stderr_lines": [], "stdout": "1.33", "stdout_lines": ["1.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.004752", "end": "2025-12-19 11:35:27.897869", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.893117", "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.005333", "end": "2025-12-19 11:35:27.902341", "msg": "", "rc": 0, "start": "2025-12-19 11:35:27.897008", "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.004228", "end": "2025-12-19 11:35:00.080867", "msg": "", "rc": 0, "start": "2025-12-19 11:35:00.076639", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
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.005387", "end": "2025-12-19 11:34:52.985068", "msg": "", "rc": 0, "start": "2025-12-19 11:34:52.979681", "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.011109", "end": "2025-12-19 11:35:28.732776", "msg": "", "rc": 0, "start": "2025-12-19 11:35:28.721667", "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.011436", "end": "2025-12-19 11:35:28.753653", "msg": "", "rc": 0, "start": "2025-12-19 11:35:28.742217", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005432", "end": "2025-12-19 11:35:28.968568", "msg": "", "rc": 0, "start": "2025-12-19 11:35:28.963136", "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.005113", "end": "2025-12-19 11:34:56.170880", "msg": "", "rc": 0, "start": "2025-12-19 11:34:56.165767", "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.006045", "end": "2025-12-19 08:35:29.213354", "msg": "", "rc": 0, "start": "2025-12-19 08:35:29.207309", "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.005104", "end": "2025-12-19 11:35:03.416284", "msg": "", "rc": 0, "start": "2025-12-19 11:35:03.411180", "stderr": "", "stderr_lines": [], "stdout": "0.74", "stdout_lines": ["0.74"]}
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.005220", "end": "2025-12-19 11:35:29.390635", "msg": "", "rc": 0, "start": "2025-12-19 11:35:29.385415", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024346", "end": "2025-12-19 11:35:29.329393", "msg": "", "rc": 0, "start": "2025-12-19 11:35:29.305047", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.009606", "end": "2025-12-19 11:35:29.761956", "msg": "", "rc": 0, "start": "2025-12-19 11:35:29.752350", "stderr": "", "stderr_lines": [], "stdout": "2.70", "stdout_lines": ["2.70"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:17 up 2:19, 1 user, load average: 0.37, 0.56, 0.48\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.31\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:17 up 23 days, 22:26, 1 user, load average: 0.36, 0.34, 0.22\nDisk Usage: 23%\nMemory Usage: 75.9%\nCPU Load: 0.31\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:17 up 23 days, 22:46, 1 user, load average: 1.40, 1.06, 0.90\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.33\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:17 up 23 days, 23:59, 1 user, load average: 0.81, 0.61, 0.56\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.68\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:18 up 17 days, 1:01, 1 user, load average: 0.40, 0.15, 0.05\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.65\nCPU Temp: 40.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:18 up 196 days, 3:08, 1 user, load average: 0.18, 0.15, 0.10\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.15\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:17 up 24 days, 45 min, 1 user, load average: 0.04, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:18 up 196 days, 3:08, 1 user, load average: 0.04, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.11\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:34:49 up 12 days, 23:24, 0 user, load average: 0.63, 0.37, 0.20\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.62\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:34:42 up 19 days, 19:36, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 24%\nMemory Usage: 66.6%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:18 up 2:18, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 1%\nMemory Usage: 16.6%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:34:45 up 22 days, 14:29, 0 user, load average: 0.34, 0.42, 0.44\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:34:53 up 19 days, 50 min, 0 user, load average: 0.87, 0.51, 0.33\nDisk Usage: 76%\nMemory Usage: 62.6%\nCPU Load: 0.74\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:35AM up 23 days, 22:25, 1 user, load averages: 0.31, 0.27, 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: 11:35:19 up 2:18, 1 user, load average: 0.00, 0.03, 0.03\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35:21 up 21:35, 1 user, load average: 2.57, 1.72, 1.22\nDisk Usage: 1%\nMemory Usage: 14.0%\nCPU Load: 2.70\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-19T16:35:30.656038+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0109a898654c4cb094dc1ea62cc99f67` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T16:40:00.009274+00:00 |
| **Fin** | 2025-12-19T16:40:24.121688+00:00 |
| **Durée** | 24.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: [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.4gb.home]
ok: [raspi.8gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003271", "end": "2025-12-19 11:40:11.282852", "msg": "", "rc": 0, "start": "2025-12-19 11:40:11.279581", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 23 days, 22:31, 1 user, load average: 0.30, 0.30, 0.24", "stdout_lines": [" 11:40:11 up 23 days, 22:31, 1 user, load average: 0.30, 0.30, 0.24"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003717", "end": "2025-12-19 11:40:11.288719", "msg": "", "rc": 0, "start": "2025-12-19 11:40:11.285002", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 24 days, 50 min, 1 user, load average: 0.09, 0.04, 0.00", "stdout_lines": [" 11:40:11 up 24 days, 50 min, 1 user, load average: 0.09, 0.04, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002842", "end": "2025-12-19 11:40:11.319813", "msg": "", "rc": 0, "start": "2025-12-19 11:40:11.316971", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 2:24, 1 user, load average: 0.35, 0.49, 0.46", "stdout_lines": [" 11:40:11 up 2:24, 1 user, load average: 0.35, 0.49, 0.46"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004567", "end": "2025-12-19 11:40:11.321334", "msg": "", "rc": 0, "start": "2025-12-19 11:40:11.316767", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 24 days, 4 min, 1 user, load average: 0.52, 0.56, 0.55", "stdout_lines": [" 11:40:11 up 24 days, 4 min, 1 user, load average: 0.52, 0.56, 0.55"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002886", "end": "2025-12-19 11:39:43.400982", "msg": "", "rc": 0, "start": "2025-12-19 11:39:43.398096", "stderr": "", "stderr_lines": [], "stdout": " 11:39:43 up 12 days, 23:29, 0 user, load average: 0.14, 0.22, 0.18", "stdout_lines": [" 11:39:43 up 12 days, 23:29, 0 user, load average: 0.14, 0.22, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008400", "end": "2025-12-19 11:40:12.008739", "msg": "", "rc": 0, "start": "2025-12-19 11:40:12.000339", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 196 days, 3:13, 1 user, load average: 0.07, 0.14, 0.11", "stdout_lines": [" 11:40:12 up 196 days, 3:13, 1 user, load average: 0.07, 0.14, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009303", "end": "2025-12-19 11:40:12.111573", "msg": "", "rc": 0, "start": "2025-12-19 11:40:12.102270", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 196 days, 3:13, 1 user, load average: 0.14, 0.13, 0.09", "stdout_lines": [" 11:40:12 up 196 days, 3:13, 1 user, load average: 0.14, 0.13, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004498", "end": "2025-12-19 11:40:12.309932", "msg": "", "rc": 0, "start": "2025-12-19 11:40:11.305434", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 23 days, 22:51, 1 user, load average: 0.67, 0.95, 0.91", "stdout_lines": [" 11:40:11 up 23 days, 22:51, 1 user, load average: 0.67, 0.95, 0.91"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003250", "end": "2025-12-19 11:39:36.743595", "msg": "", "rc": 0, "start": "2025-12-19 11:39:36.740345", "stderr": "", "stderr_lines": [], "stdout": " 11:39:36 up 19 days, 19:41, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 11:39:36 up 19 days, 19:41, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004485", "end": "2025-12-19 11:40:12.525816", "msg": "", "rc": 0, "start": "2025-12-19 11:40:12.521331", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 2:23, 1 user, load average: 0.08, 0.05, 0.01", "stdout_lines": [" 11:40:12 up 2:23, 1 user, load average: 0.08, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003061", "end": "2025-12-19 11:39:39.707982", "msg": "", "rc": 0, "start": "2025-12-19 11:39:39.704921", "stderr": "", "stderr_lines": [], "stdout": " 11:39:39 up 22 days, 14:33, 0 user, load average: 0.50, 0.45, 0.45", "stdout_lines": [" 11:39:39 up 22 days, 14:33, 0 user, load average: 0.50, 0.45, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002737", "end": "2025-12-19 11:39:46.921044", "msg": "", "rc": 0, "start": "2025-12-19 11:39:46.918307", "stderr": "", "stderr_lines": [], "stdout": " 11:39:46 up 19 days, 55 min, 0 user, load average: 0.52, 0.47, 0.35", "stdout_lines": [" 11:39:46 up 19 days, 55 min, 0 user, load average: 0.52, 0.47, 0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004189", "end": "2025-12-19 08:40:12.798919", "msg": "", "rc": 0, "start": "2025-12-19 08:40:12.794730", "stderr": "", "stderr_lines": [], "stdout": " 8:40AM up 23 days, 22:30, 1 user, load averages: 0.17, 0.19, 0.18", "stdout_lines": [" 8:40AM up 23 days, 22:30, 1 user, load averages: 0.17, 0.19, 0.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019500", "end": "2025-12-19 11:40:12.690529", "msg": "", "rc": 0, "start": "2025-12-19 11:40:12.671029", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 17 days, 1:06, 1 user, load average: 0.22, 0.15, 0.08", "stdout_lines": [" 11:40:12 up 17 days, 1:06, 1 user, load average: 0.22, 0.15, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003690", "end": "2025-12-19 11:40:12.949612", "msg": "", "rc": 0, "start": "2025-12-19 11:40:12.945922", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 2:23, 1 user, load average: 0.15, 0.08, 0.03", "stdout_lines": [" 11:40:12 up 2:23, 1 user, load average: 0.15, 0.08, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005415", "end": "2025-12-19 11:40:14.652778", "msg": "", "rc": 0, "start": "2025-12-19 11:40:14.647363", "stderr": "", "stderr_lines": [], "stdout": " 11:40:14 up 21:41, 1 user, load average: 1.17, 1.52, 1.30", "stdout_lines": [" 11:40:14 up 21:41, 1 user, load average: 1.17, 1.52, 1.30"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004133", "end": "2025-12-19 11:40:13.440504", "msg": "", "rc": 0, "start": "2025-12-19 11:40:13.436371", "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.004071", "end": "2025-12-19 11:40:13.454124", "msg": "", "rc": 0, "start": "2025-12-19 11:40:13.450053", "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.004482", "end": "2025-12-19 11:40:13.463919", "msg": "", "rc": 0, "start": "2025-12-19 11:40:13.459437", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004821", "end": "2025-12-19 11:40:13.500303", "msg": "", "rc": 0, "start": "2025-12-19 11:40:13.495482", "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.005682", "end": "2025-12-19 11:40:13.507092", "msg": "", "rc": 0, "start": "2025-12-19 11:40:13.501410", "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.005524", "end": "2025-12-19 11:39:45.507456", "msg": "", "rc": 0, "start": "2025-12-19 11:39:45.501932", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007827", "end": "2025-12-19 11:39:38.413150", "msg": "", "rc": 0, "start": "2025-12-19 11:39:38.405323", "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.011757", "end": "2025-12-19 11:40:14.164258", "msg": "", "rc": 0, "start": "2025-12-19 11:40:14.152501", "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.010374", "end": "2025-12-19 11:40:14.198009", "msg": "", "rc": 0, "start": "2025-12-19 11:40:14.187635", "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.005590", "end": "2025-12-19 11:40:14.420686", "msg": "", "rc": 0, "start": "2025-12-19 11:40:14.415096", "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.005260", "end": "2025-12-19 11:39:41.620632", "msg": "", "rc": 0, "start": "2025-12-19 11:39:41.615372", "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.004537", "end": "2025-12-19 11:39:48.836771", "msg": "", "rc": 0, "start": "2025-12-19 11:39:48.832234", "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.005539", "end": "2025-12-19 08:40:14.661485", "msg": "", "rc": 0, "start": "2025-12-19 08:40:14.655946", "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.005827", "end": "2025-12-19 11:40:14.851316", "msg": "", "rc": 0, "start": "2025-12-19 11:40:14.845489", "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.024984", "end": "2025-12-19 11:40:14.826109", "msg": "", "rc": 0, "start": "2025-12-19 11:40:14.801125", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010468", "end": "2025-12-19 11:40:16.754780", "msg": "", "rc": 0, "start": "2025-12-19 11:40:16.744312", "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.004245", "end": "2025-12-19 11:40:15.361682", "msg": "", "rc": 0, "start": "2025-12-19 11:40:15.357437", "stderr": "", "stderr_lines": [], "stdout": "75.9%", "stdout_lines": ["75.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.004095", "end": "2025-12-19 11:40:15.389621", "msg": "", "rc": 0, "start": "2025-12-19 11:40:15.385526", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004874", "end": "2025-12-19 11:40:15.414277", "msg": "", "rc": 0, "start": "2025-12-19 11:40:15.409403", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004663", "end": "2025-12-19 11:40:15.423351", "msg": "", "rc": 0, "start": "2025-12-19 11:40:15.418688", "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.005447", "end": "2025-12-19 11:40:15.425249", "msg": "", "rc": 0, "start": "2025-12-19 11:40:15.419802", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004810", "end": "2025-12-19 11:39:47.458865", "msg": "", "rc": 0, "start": "2025-12-19 11:39:47.454055", "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.004674", "end": "2025-12-19 11:39:40.342773", "msg": "", "rc": 0, "start": "2025-12-19 11:39:40.338099", "stderr": "", "stderr_lines": [], "stdout": "66.6%", "stdout_lines": ["66.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.010788", "end": "2025-12-19 11:40:16.060868", "msg": "", "rc": 0, "start": "2025-12-19 11:40:16.050080", "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.011903", "end": "2025-12-19 11:40:16.103433", "msg": "", "rc": 0, "start": "2025-12-19 11:40:16.091530", "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.005779", "end": "2025-12-19 11:40:16.373001", "msg": "", "rc": 0, "start": "2025-12-19 11:40:16.367222", "stderr": "", "stderr_lines": [], "stdout": "16.7%", "stdout_lines": ["16.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.004115", "end": "2025-12-19 11:39:43.506825", "msg": "", "rc": 0, "start": "2025-12-19 11:39:43.502710", "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.005101", "end": "2025-12-19 08:40:16.570458", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 08:40:16.565357", "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.003768", "end": "2025-12-19 11:39:50.771846", "msg": "", "rc": 0, "start": "2025-12-19 11:39:50.768078", "stderr": "", "stderr_lines": [], "stdout": "60.9%", "stdout_lines": ["60.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.006171", "end": "2025-12-19 11:40:16.803732", "msg": "", "rc": 0, "start": "2025-12-19 11:40:16.797561", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.008138", "end": "2025-12-19 11:40:18.797856", "msg": "", "rc": 0, "start": "2025-12-19 11:40:18.789718", "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.025837", "end": "2025-12-19 11:40:16.759819", "msg": "", "rc": 0, "start": "2025-12-19 11:40:16.733982", "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.005283", "end": "2025-12-19 11:40:17.286466", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.281183", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004830", "end": "2025-12-19 11:40:17.324706", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.319876", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003141", "end": "2025-12-19 11:40:17.336153", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.333012", "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.005508", "end": "2025-12-19 11:40:17.361472", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.355964", "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.006731", "end": "2025-12-19 11:40:17.368851", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.362120", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002504", "end": "2025-12-19 11:39:49.362817", "msg": "", "rc": 0, "start": "2025-12-19 11:39:49.360313", "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.003276", "end": "2025-12-19 11:39:42.318910", "msg": "", "rc": 0, "start": "2025-12-19 11:39:42.315634", "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.011715", "end": "2025-12-19 11:40:17.994932", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.983217", "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.012923", "end": "2025-12-19 11:40:18.112507", "msg": "", "rc": 0, "start": "2025-12-19 11:40:18.099584", "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.003421", "end": "2025-12-19 11:40:18.259103", "msg": "", "rc": 0, "start": "2025-12-19 11:40:18.255682", "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.002477", "end": "2025-12-19 11:39:52.691249", "msg": "", "rc": 0, "start": "2025-12-19 11:39:52.688772", "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.003031", "end": "2025-12-19 11:39:45.513294", "msg": "", "rc": 0, "start": "2025-12-19 11:39:45.510263", "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.003926", "end": "2025-12-19 08:40:18.572843", "msg": "", "rc": 0, "start": "2025-12-19 08:40:18.568917", "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.002932", "end": "2025-12-19 11:40:18.680943", "msg": "", "rc": 0, "start": "2025-12-19 11:40:18.678011", "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-19 11:40:18.679406", "msg": "", "rc": 0, "start": "2025-12-19 11:40:18.650523", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°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.004544", "end": "2025-12-19 11:40:20.979226", "msg": "", "rc": 0, "start": "2025-12-19 11:40:20.974682", "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.004381", "end": "2025-12-19 11:40:19.250296", "msg": "", "rc": 0, "start": "2025-12-19 11:40:19.245915", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
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.004014", "end": "2025-12-19 11:40:19.254127", "msg": "", "rc": 0, "start": "2025-12-19 11:40:19.250113", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.004775", "end": "2025-12-19 11:40:19.283009", "msg": "", "rc": 0, "start": "2025-12-19 11:40:19.278234", "stderr": "", "stderr_lines": [], "stdout": "0.81", "stdout_lines": ["0.81"]}
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.005001", "end": "2025-12-19 11:40:19.302333", "msg": "", "rc": 0, "start": "2025-12-19 11:40:19.297332", "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.005839", "end": "2025-12-19 11:40:19.326197", "msg": "", "rc": 0, "start": "2025-12-19 11:40:19.320358", "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.004372", "end": "2025-12-19 11:39:51.304562", "msg": "", "rc": 0, "start": "2025-12-19 11:39:51.300190", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005422", "end": "2025-12-19 11:39:44.283232", "msg": "", "rc": 0, "start": "2025-12-19 11:39:44.277810", "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.011157", "end": "2025-12-19 11:40:19.981610", "msg": "", "rc": 0, "start": "2025-12-19 11:40:19.970453", "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.010167", "end": "2025-12-19 11:40:20.033589", "msg": "", "rc": 0, "start": "2025-12-19 11:40:20.023422", "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.005536", "end": "2025-12-19 11:40:20.220532", "msg": "", "rc": 0, "start": "2025-12-19 11:40:20.214996", "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.004874", "end": "2025-12-19 11:39:47.474721", "msg": "", "rc": 0, "start": "2025-12-19 11:39:47.469847", "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.006360", "end": "2025-12-19 08:40:20.486613", "msg": "", "rc": 0, "start": "2025-12-19 08:40:20.480253", "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.004377", "end": "2025-12-19 11:39:54.678230", "msg": "", "rc": 0, "start": "2025-12-19 11:39:54.673853", "stderr": "", "stderr_lines": [], "stdout": "0.84", "stdout_lines": ["0.84"]}
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.005306", "end": "2025-12-19 11:40:20.641971", "msg": "", "rc": 0, "start": "2025-12-19 11:40:20.636665", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024723", "end": "2025-12-19 11:40:20.646363", "msg": "", "rc": 0, "start": "2025-12-19 11:40:20.621640", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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.007381", "end": "2025-12-19 11:40:23.132249", "msg": "", "rc": 0, "start": "2025-12-19 11:40:23.124868", "stderr": "", "stderr_lines": [], "stdout": "1.24", "stdout_lines": ["1.24"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 2:24, 1 user, load average: 0.35, 0.49, 0.46\nDisk Usage: 22%\nMemory Usage: 14.6%\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:40:11 up 23 days, 22:31, 1 user, load average: 0.30, 0.30, 0.24\nDisk Usage: 23%\nMemory Usage: 75.9%\nCPU Load: 0.35\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 23 days, 22:51, 1 user, load average: 0.67, 0.95, 0.91\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.81\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 24 days, 4 min, 1 user, load average: 0.52, 0.56, 0.55\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.76\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 24 days, 50 min, 1 user, load average: 0.09, 0.04, 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: 11:40:12 up 17 days, 1:06, 1 user, load average: 0.22, 0.15, 0.08\nDisk Usage: 21%\nMemory Usage: 19.3%\nCPU Load: 0.34\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:12 up 196 days, 3:13, 1 user, load average: 0.14, 0.13, 0.09\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.21\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:12 up 196 days, 3:13, 1 user, load average: 0.07, 0.14, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.14\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:43 up 12 days, 23:29, 0 user, load average: 0.14, 0.22, 0.18\nDisk Usage: 50%\nMemory Usage: 71.4%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:36 up 19 days, 19:41, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 66.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:12 up 2:23, 1 user, load average: 0.08, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 16.7%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:39 up 22 days, 14:33, 0 user, load average: 0.50, 0.45, 0.45\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:46 up 19 days, 55 min, 0 user, load average: 0.52, 0.47, 0.35\nDisk Usage: 76%\nMemory Usage: 60.9%\nCPU Load: 0.84\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:40AM up 23 days, 22:30, 1 user, load averages: 0.17, 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: 11:40:12 up 2:23, 1 user, load average: 0.15, 0.08, 0.03\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:14 up 21:41, 1 user, load average: 1.17, 1.52, 1.30\nDisk Usage: 1%\nMemory Usage: 14.1%\nCPU Load: 1.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T16:40:24.852869+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `dce1ec39312c42459cbb97f9f253256e` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T16:45:00.003194+00:00 |
| **Fin** | 2025-12-19T16:45:21.280739+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [mimi.pc.home]
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.4gb.home]
ok: [raspi.8gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003162", "end": "2025-12-19 11:45:10.918697", "msg": "", "rc": 0, "start": "2025-12-19 11:45:10.915535", "stderr": "", "stderr_lines": [], "stdout": " 11:45:10 up 23 days, 22:36, 1 user, load average: 0.51, 0.37, 0.29", "stdout_lines": [" 11:45:10 up 23 days, 22:36, 1 user, load average: 0.51, 0.37, 0.29"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003630", "end": "2025-12-19 11:45:10.932378", "msg": "", "rc": 0, "start": "2025-12-19 11:45:10.928748", "stderr": "", "stderr_lines": [], "stdout": " 11:45:10 up 24 days, 55 min, 1 user, load average: 0.08, 0.04, 0.00", "stdout_lines": [" 11:45:10 up 24 days, 55 min, 1 user, load average: 0.08, 0.04, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003965", "end": "2025-12-19 11:45:10.949692", "msg": "", "rc": 0, "start": "2025-12-19 11:45:10.945727", "stderr": "", "stderr_lines": [], "stdout": " 11:45:10 up 24 days, 9 min, 1 user, load average: 0.56, 0.57, 0.55", "stdout_lines": [" 11:45:10 up 24 days, 9 min, 1 user, load average: 0.56, 0.57, 0.55"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002864", "end": "2025-12-19 11:45:10.962688", "msg": "", "rc": 0, "start": "2025-12-19 11:45:10.959824", "stderr": "", "stderr_lines": [], "stdout": " 11:45:10 up 2:29, 1 user, load average: 0.41, 0.38, 0.42", "stdout_lines": [" 11:45:10 up 2:29, 1 user, load average: 0.41, 0.38, 0.42"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003191", "end": "2025-12-19 11:44:42.979354", "msg": "", "rc": 0, "start": "2025-12-19 11:44:42.976163", "stderr": "", "stderr_lines": [], "stdout": " 11:44:42 up 12 days, 23:34, 0 user, load average: 0.26, 0.26, 0.20", "stdout_lines": [" 11:44:42 up 12 days, 23:34, 0 user, load average: 0.26, 0.26, 0.20"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008493", "end": "2025-12-19 11:45:11.607153", "msg": "", "rc": 0, "start": "2025-12-19 11:45:11.598660", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 196 days, 3:18, 1 user, load average: 0.07, 0.11, 0.09", "stdout_lines": [" 11:45:11 up 196 days, 3:18, 1 user, load average: 0.07, 0.11, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009378", "end": "2025-12-19 11:45:11.641863", "msg": "", "rc": 0, "start": "2025-12-19 11:45:11.632485", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 196 days, 3:18, 1 user, load average: 0.32, 0.22, 0.13", "stdout_lines": [" 11:45:11 up 196 days, 3:18, 1 user, load average: 0.32, 0.22, 0.13"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004385", "end": "2025-12-19 11:45:11.929518", "msg": "", "rc": 0, "start": "2025-12-19 11:45:10.925133", "stderr": "", "stderr_lines": [], "stdout": " 11:45:10 up 23 days, 22:56, 1 user, load average: 1.08, 1.12, 1.00", "stdout_lines": [" 11:45:10 up 23 days, 22:56, 1 user, load average: 1.08, 1.12, 1.00"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003482", "end": "2025-12-19 11:44:36.325212", "msg": "", "rc": 0, "start": "2025-12-19 11:44:36.321730", "stderr": "", "stderr_lines": [], "stdout": " 11:44:36 up 19 days, 19:46, 0 user, load average: 0.12, 0.04, 0.01", "stdout_lines": [" 11:44:36 up 19 days, 19:46, 0 user, load average: 0.12, 0.04, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004537", "end": "2025-12-19 11:45:12.114509", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.109972", "stderr": "", "stderr_lines": [], "stdout": " 11:45:12 up 2:28, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 11:45:12 up 2:28, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003310", "end": "2025-12-19 11:44:39.226695", "msg": "", "rc": 0, "start": "2025-12-19 11:44:39.223385", "stderr": "", "stderr_lines": [], "stdout": " 11:44:39 up 22 days, 14:38, 0 user, load average: 0.30, 0.47, 0.46", "stdout_lines": [" 11:44:39 up 22 days, 14:38, 0 user, load average: 0.30, 0.47, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004314", "end": "2025-12-19 08:45:12.383692", "msg": "", "rc": 0, "start": "2025-12-19 08:45:12.379378", "stderr": "", "stderr_lines": [], "stdout": " 8:45AM up 23 days, 22:34, 1 user, load averages: 0.02, 0.12, 0.14", "stdout_lines": [" 8:45AM up 23 days, 22:34, 1 user, load averages: 0.02, 0.12, 0.14"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003412", "end": "2025-12-19 11:44:46.557357", "msg": "", "rc": 0, "start": "2025-12-19 11:44:46.553945", "stderr": "", "stderr_lines": [], "stdout": " 11:44:46 up 19 days, 1:00, 0 user, load average: 0.31, 0.62, 0.47", "stdout_lines": [" 11:44:46 up 19 days, 1:00, 0 user, load average: 0.31, 0.62, 0.47"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019776", "end": "2025-12-19 11:45:12.295857", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.276081", "stderr": "", "stderr_lines": [], "stdout": " 11:45:12 up 17 days, 1:11, 1 user, load average: 0.06, 0.10, 0.08", "stdout_lines": [" 11:45:12 up 17 days, 1:11, 1 user, load average: 0.06, 0.10, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003688", "end": "2025-12-19 11:45:12.546498", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.542810", "stderr": "", "stderr_lines": [], "stdout": " 11:45:12 up 2:28, 1 user, load average: 0.62, 0.41, 0.18", "stdout_lines": [" 11:45:12 up 2:28, 1 user, load average: 0.62, 0.41, 0.18"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005452", "end": "2025-12-19 11:45:14.521417", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.515965", "stderr": "", "stderr_lines": [], "stdout": " 11:45:14 up 21:46, 1 user, load average: 1.20, 1.27, 1.25", "stdout_lines": [" 11:45:14 up 21:46, 1 user, load average: 1.20, 1.27, 1.25"]}
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-19 11:45:12.949837", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.945680", "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.004061", "end": "2025-12-19 11:45:12.973511", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.969450", "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.004762", "end": "2025-12-19 11:45:12.992820", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.988058", "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.004716", "end": "2025-12-19 11:45:13.014976", "msg": "", "rc": 0, "start": "2025-12-19 11:45:13.010260", "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.006133", "end": "2025-12-19 11:45:13.024298", "msg": "", "rc": 0, "start": "2025-12-19 11:45:13.018165", "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.005717", "end": "2025-12-19 11:44:45.049649", "msg": "", "rc": 0, "start": "2025-12-19 11:44:45.043932", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005833", "end": "2025-12-19 11:44:37.943387", "msg": "", "rc": 0, "start": "2025-12-19 11:44:37.937554", "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.010510", "end": "2025-12-19 11:45:13.739783", "msg": "", "rc": 0, "start": "2025-12-19 11:45:13.729273", "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.011557", "end": "2025-12-19 11:45:13.785387", "msg": "", "rc": 0, "start": "2025-12-19 11:45:13.773830", "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-19 11:45:13.959501", "msg": "", "rc": 0, "start": "2025-12-19 11:45:13.953742", "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.005522", "end": "2025-12-19 11:44:41.112839", "msg": "", "rc": 0, "start": "2025-12-19 11:44:41.107317", "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.004612", "end": "2025-12-19 11:44:48.402497", "msg": "", "rc": 0, "start": "2025-12-19 11:44:48.397885", "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.005599", "end": "2025-12-19 08:45:14.238737", "msg": "", "rc": 0, "start": "2025-12-19 08:45:14.233138", "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.005530", "end": "2025-12-19 11:45:14.381243", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.375713", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008721", "end": "2025-12-19 11:45:16.580753", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.572032", "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.025418", "end": "2025-12-19 11:45:14.365751", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.340333", "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.004327", "end": "2025-12-19 11:45:14.896350", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.892023", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.5%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004102", "end": "2025-12-19 11:45:14.896618", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.892516", "stderr": "", "stderr_lines": [], "stdout": "75.9%", "stdout_lines": ["75.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.004796", "end": "2025-12-19 11:45:14.912846", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.908050", "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.004956", "end": "2025-12-19 11:45:14.951968", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.947012", "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.005603", "end": "2025-12-19 11:45:14.967866", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.962263", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003869", "end": "2025-12-19 11:44:46.959376", "msg": "", "rc": 0, "start": "2025-12-19 11:44:46.955507", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004518", "end": "2025-12-19 11:44:39.872053", "msg": "", "rc": 0, "start": "2025-12-19 11:44:39.867535", "stderr": "", "stderr_lines": [], "stdout": "66.6%", "stdout_lines": ["66.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.010858", "end": "2025-12-19 11:45:15.580768", "msg": "", "rc": 0, "start": "2025-12-19 11:45:15.569910", "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.011793", "end": "2025-12-19 11:45:15.619971", "msg": "", "rc": 0, "start": "2025-12-19 11:45:15.608178", "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.005651", "end": "2025-12-19 11:45:15.873600", "msg": "", "rc": 0, "start": "2025-12-19 11:45:15.867949", "stderr": "", "stderr_lines": [], "stdout": "16.7%", "stdout_lines": ["16.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.005203", "end": "2025-12-19 08:45:16.070627", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 08:45:16.065424", "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.004275", "end": "2025-12-19 11:44:43.061974", "msg": "", "rc": 0, "start": "2025-12-19 11:44:43.057699", "stderr": "", "stderr_lines": [], "stdout": "27.7%", "stdout_lines": ["27.7%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003741", "end": "2025-12-19 11:44:50.247614", "msg": "", "rc": 0, "start": "2025-12-19 11:44:50.243873", "stderr": "", "stderr_lines": [], "stdout": "61.3%", "stdout_lines": ["61.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.005395", "end": "2025-12-19 11:45:16.298515", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.293120", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.008519", "end": "2025-12-19 11:45:18.739086", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.730567", "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.026223", "end": "2025-12-19 11:45:16.281519", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.255296", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
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.004949", "end": "2025-12-19 11:45:16.821107", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.816158", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.005295", "end": "2025-12-19 11:45:16.818525", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.813230", "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.005768", "end": "2025-12-19 11:45:16.830897", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.825129", "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.002771", "end": "2025-12-19 11:45:16.863903", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.861132", "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.006437", "end": "2025-12-19 11:45:16.873187", "msg": "", "rc": 0, "start": "2025-12-19 11:45:16.866750", "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.003245", "end": "2025-12-19 11:44:48.921159", "msg": "", "rc": 0, "start": "2025-12-19 11:44:48.917914", "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.003155", "end": "2025-12-19 11:44:41.762389", "msg": "", "rc": 0, "start": "2025-12-19 11:44:41.759234", "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.011645", "end": "2025-12-19 11:45:17.507740", "msg": "", "rc": 0, "start": "2025-12-19 11:45:17.496095", "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.012872", "end": "2025-12-19 11:45:17.545559", "msg": "", "rc": 0, "start": "2025-12-19 11:45:17.532687", "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.003264", "end": "2025-12-19 11:45:17.841971", "msg": "", "rc": 0, "start": "2025-12-19 11:45:17.838707", "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.002679", "end": "2025-12-19 11:44:44.949816", "msg": "", "rc": 0, "start": "2025-12-19 11:44:44.947137", "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.003896", "end": "2025-12-19 08:45:18.015489", "msg": "", "rc": 0, "start": "2025-12-19 08:45:18.011593", "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.003242", "end": "2025-12-19 11:44:52.193999", "msg": "", "rc": 0, "start": "2025-12-19 11:44:52.190757", "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.005089", "end": "2025-12-19 11:45:20.799126", "msg": "", "rc": 0, "start": "2025-12-19 11:45:20.794037", "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.002922", "end": "2025-12-19 11:45:18.270632", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.267710", "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.028265", "end": "2025-12-19 11:45:18.205046", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.176781", "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.004136", "end": "2025-12-19 11:45:18.724374", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.720238", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004099", "end": "2025-12-19 11:45:18.745186", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.741087", "stderr": "", "stderr_lines": [], "stdout": "0.70", "stdout_lines": ["0.70"]}
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.004868", "end": "2025-12-19 11:45:18.755406", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.750538", "stderr": "", "stderr_lines": [], "stdout": "1.30", "stdout_lines": ["1.30"]}
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-19 11:45:18.779840", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.774678", "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.006276", "end": "2025-12-19 11:45:18.793408", "msg": "", "rc": 0, "start": "2025-12-19 11:45:18.787132", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
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.004879", "end": "2025-12-19 11:44:50.797147", "msg": "", "rc": 0, "start": "2025-12-19 11:44:50.792268", "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.005208", "end": "2025-12-19 11:44:43.728723", "msg": "", "rc": 0, "start": "2025-12-19 11:44:43.723515", "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.010047", "end": "2025-12-19 11:45:19.513525", "msg": "", "rc": 0, "start": "2025-12-19 11:45:19.503478", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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-19 11:45:19.539171", "msg": "", "rc": 0, "start": "2025-12-19 11:45:19.528130", "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.005521", "end": "2025-12-19 11:45:19.707455", "msg": "", "rc": 0, "start": "2025-12-19 11:45:19.701934", "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.005235", "end": "2025-12-19 11:44:46.942708", "msg": "", "rc": 0, "start": "2025-12-19 11:44:46.937473", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007334", "end": "2025-12-19 08:45:20.023069", "msg": "", "rc": 0, "start": "2025-12-19 08:45:20.015735", "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.005759", "end": "2025-12-19 11:44:54.227912", "msg": "", "rc": 0, "start": "2025-12-19 11:44:54.222153", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
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.005685", "end": "2025-12-19 11:45:20.139610", "msg": "", "rc": 0, "start": "2025-12-19 11:45:20.133925", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
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.024236", "end": "2025-12-19 11:45:20.108895", "msg": "", "rc": 0, "start": "2025-12-19 11:45:20.084659", "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.007815", "end": "2025-12-19 11:45:20.360935", "msg": "", "rc": 0, "start": "2025-12-19 11:45:20.353120", "stderr": "", "stderr_lines": [], "stdout": "1.40", "stdout_lines": ["1.40"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:10 up 2:29, 1 user, load average: 0.41, 0.38, 0.42\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.70\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:10 up 23 days, 22:36, 1 user, load average: 0.51, 0.37, 0.29\nDisk Usage: 23%\nMemory Usage: 75.9%\nCPU Load: 0.47\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:10 up 23 days, 22:56, 1 user, load average: 1.08, 1.12, 1.00\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.30\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:10 up 24 days, 9 min, 1 user, load average: 0.56, 0.57, 0.55\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.55\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:10 up 24 days, 55 min, 1 user, load average: 0.08, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 196 days, 3:18, 1 user, load average: 0.32, 0.22, 0.13\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.37\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:12 up 17 days, 1:11, 1 user, load average: 0.06, 0.10, 0.08\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.14\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 196 days, 3:18, 1 user, load average: 0.07, 0.11, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.07\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:42 up 12 days, 23:34, 0 user, load average: 0.26, 0.26, 0.20\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:36 up 19 days, 19:46, 0 user, load average: 0.12, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 66.6%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:12 up 2:28, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 16.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:39 up 22 days, 14:38, 0 user, load average: 0.30, 0.47, 0.46\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:46 up 19 days, 1:00, 0 user, load average: 0.31, 0.62, 0.47\nDisk Usage: 76%\nMemory Usage: 61.3%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:45AM up 23 days, 22:34, 1 user, load averages: 0.02, 0.12, 0.14\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:12 up 2:28, 1 user, load average: 0.62, 0.41, 0.18\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.52\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:14 up 21:46, 1 user, load average: 1.20, 1.27, 1.25\nDisk Usage: 1%\nMemory Usage: 13.8%\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-19T16:45:21.342588+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9180d9caae4b44f98fbf31e0673dfb91` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T16:50:00.012433+00:00 |
| **Fin** | 2025-12-19T16:50:20.890908+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: [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.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [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.003307", "end": "2025-12-19 11:50:10.335162", "msg": "", "rc": 0, "start": "2025-12-19 11:50:10.331855", "stderr": "", "stderr_lines": [], "stdout": " 11:50:10 up 23 days, 22:41, 1 user, load average: 0.33, 0.37, 0.30", "stdout_lines": [" 11:50:10 up 23 days, 22:41, 1 user, load average: 0.33, 0.37, 0.30"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003438", "end": "2025-12-19 11:50:10.340355", "msg": "", "rc": 0, "start": "2025-12-19 11:50:10.336917", "stderr": "", "stderr_lines": [], "stdout": " 11:50:10 up 23 days, 23:01, 1 user, load average: 1.30, 1.14, 1.03", "stdout_lines": [" 11:50:10 up 23 days, 23:01, 1 user, load average: 1.30, 1.14, 1.03"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003602", "end": "2025-12-19 11:50:10.344171", "msg": "", "rc": 0, "start": "2025-12-19 11:50:10.340569", "stderr": "", "stderr_lines": [], "stdout": " 11:50:10 up 24 days, 1:00, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 11:50:10 up 24 days, 1:00, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002821", "end": "2025-12-19 11:50:10.367864", "msg": "", "rc": 0, "start": "2025-12-19 11:50:10.365043", "stderr": "", "stderr_lines": [], "stdout": " 11:50:10 up 2:34, 1 user, load average: 0.18, 0.31, 0.39", "stdout_lines": [" 11:50:10 up 2:34, 1 user, load average: 0.18, 0.31, 0.39"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004133", "end": "2025-12-19 11:50:10.364089", "msg": "", "rc": 0, "start": "2025-12-19 11:50:10.359956", "stderr": "", "stderr_lines": [], "stdout": " 11:50:10 up 24 days, 14 min, 1 user, load average: 0.83, 0.64, 0.57", "stdout_lines": [" 11:50:10 up 24 days, 14 min, 1 user, load average: 0.83, 0.64, 0.57"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002962", "end": "2025-12-19 11:49:42.391820", "msg": "", "rc": 0, "start": "2025-12-19 11:49:42.388858", "stderr": "", "stderr_lines": [], "stdout": " 11:49:42 up 12 days, 23:39, 0 user, load average: 0.17, 0.23, 0.19", "stdout_lines": [" 11:49:42 up 12 days, 23:39, 0 user, load average: 0.17, 0.23, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003512", "end": "2025-12-19 11:49:35.283524", "msg": "", "rc": 0, "start": "2025-12-19 11:49:35.280012", "stderr": "", "stderr_lines": [], "stdout": " 11:49:35 up 19 days, 19:51, 0 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 11:49:35 up 19 days, 19:51, 0 user, load average: 0.03, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008460", "end": "2025-12-19 11:50:11.031658", "msg": "", "rc": 0, "start": "2025-12-19 11:50:11.023198", "stderr": "", "stderr_lines": [], "stdout": " 11:50:11 up 196 days, 3:23, 1 user, load average: 0.11, 0.10, 0.09", "stdout_lines": [" 11:50:11 up 196 days, 3:23, 1 user, load average: 0.11, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009110", "end": "2025-12-19 11:50:11.067981", "msg": "", "rc": 0, "start": "2025-12-19 11:50:11.058871", "stderr": "", "stderr_lines": [], "stdout": " 11:50:11 up 196 days, 3:23, 1 user, load average: 0.34, 0.31, 0.19", "stdout_lines": [" 11:50:11 up 196 days, 3:23, 1 user, load average: 0.34, 0.31, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004549", "end": "2025-12-19 11:50:11.312153", "msg": "", "rc": 0, "start": "2025-12-19 11:50:11.307604", "stderr": "", "stderr_lines": [], "stdout": " 11:50:11 up 2:33, 1 user, load average: 0.09, 0.05, 0.00", "stdout_lines": [" 11:50:11 up 2:33, 1 user, load average: 0.09, 0.05, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003334", "end": "2025-12-19 11:49:38.453670", "msg": "", "rc": 0, "start": "2025-12-19 11:49:38.450336", "stderr": "", "stderr_lines": [], "stdout": " 11:49:38 up 22 days, 14:43, 0 user, load average: 0.55, 0.45, 0.45", "stdout_lines": [" 11:49:38 up 22 days, 14:43, 0 user, load average: 0.55, 0.45, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004495", "end": "2025-12-19 08:50:11.535289", "msg": "", "rc": 0, "start": "2025-12-19 08:50:11.530794", "stderr": "", "stderr_lines": [], "stdout": " 8:50AM up 23 days, 22:39, 1 user, load averages: 0.50, 0.27, 0.19", "stdout_lines": [" 8:50AM up 23 days, 22:39, 1 user, load averages: 0.50, 0.27, 0.19"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002706", "end": "2025-12-19 11:49:45.703841", "msg": "", "rc": 0, "start": "2025-12-19 11:49:45.701135", "stderr": "", "stderr_lines": [], "stdout": " 11:49:45 up 19 days, 1:05, 0 user, load average: 1.18, 0.87, 0.60", "stdout_lines": [" 11:49:45 up 19 days, 1:05, 0 user, load average: 1.18, 0.87, 0.60"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003707", "end": "2025-12-19 11:50:11.738530", "msg": "", "rc": 0, "start": "2025-12-19 11:50:11.734823", "stderr": "", "stderr_lines": [], "stdout": " 11:50:11 up 2:33, 1 user, load average: 0.19, 0.23, 0.16", "stdout_lines": [" 11:50:11 up 2:33, 1 user, load average: 0.19, 0.23, 0.16"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008316", "end": "2025-12-19 11:50:14.226325", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.218009", "stderr": "", "stderr_lines": [], "stdout": " 11:50:14 up 21:52, 1 user, load average: 1.36, 1.25, 1.24", "stdout_lines": [" 11:50:14 up 21:52, 1 user, load average: 1.36, 1.25, 1.24"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019620", "end": "2025-12-19 11:50:11.728456", "msg": "", "rc": 0, "start": "2025-12-19 11:50:11.708836", "stderr": "", "stderr_lines": [], "stdout": " 11:50:11 up 17 days, 1:16, 1 user, load average: 0.22, 0.12, 0.09", "stdout_lines": [" 11:50:11 up 17 days, 1:16, 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.004202", "end": "2025-12-19 11:50:12.259804", "msg": "", "rc": 0, "start": "2025-12-19 11:50:12.255602", "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.004069", "end": "2025-12-19 11:50:12.284280", "msg": "", "rc": 0, "start": "2025-12-19 11:50:12.280211", "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.004510", "end": "2025-12-19 11:50:12.299310", "msg": "", "rc": 0, "start": "2025-12-19 11:50:12.294800", "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.004655", "end": "2025-12-19 11:50:12.309457", "msg": "", "rc": 0, "start": "2025-12-19 11:50:12.304802", "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.005638", "end": "2025-12-19 11:50:12.322559", "msg": "", "rc": 0, "start": "2025-12-19 11:50:12.316921", "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.004999", "end": "2025-12-19 11:49:44.307764", "msg": "", "rc": 0, "start": "2025-12-19 11:49:44.302765", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005741", "end": "2025-12-19 11:49:37.220526", "msg": "", "rc": 0, "start": "2025-12-19 11:49:37.214785", "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.011110", "end": "2025-12-19 11:50:12.973867", "msg": "", "rc": 0, "start": "2025-12-19 11:50:12.962757", "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.011369", "end": "2025-12-19 11:50:13.034887", "msg": "", "rc": 0, "start": "2025-12-19 11:50:13.023518", "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.005723", "end": "2025-12-19 11:50:13.227480", "msg": "", "rc": 0, "start": "2025-12-19 11:50:13.221757", "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.005310", "end": "2025-12-19 11:49:40.408501", "msg": "", "rc": 0, "start": "2025-12-19 11:49:40.403191", "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.005440", "end": "2025-12-19 08:50:13.502231", "msg": "", "rc": 0, "start": "2025-12-19 08:50:13.496791", "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.010554", "end": "2025-12-19 11:49:47.714210", "msg": "", "rc": 0, "start": "2025-12-19 11:49:47.703656", "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.005314", "end": "2025-12-19 11:50:13.660114", "msg": "", "rc": 0, "start": "2025-12-19 11:50:13.654800", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021619", "end": "2025-12-19 11:50:16.396172", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.374553", "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.025664", "end": "2025-12-19 11:50:13.654006", "msg": "", "rc": 0, "start": "2025-12-19 11:50:13.628342", "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.004166", "end": "2025-12-19 11:50:14.195527", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.191361", "stderr": "", "stderr_lines": [], "stdout": "75.9%", "stdout_lines": ["75.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.004133", "end": "2025-12-19 11:50:14.199150", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.195017", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.005172", "end": "2025-12-19 11:50:14.211378", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.206206", "stderr": "", "stderr_lines": [], "stdout": "48.9%", "stdout_lines": ["48.9%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005028", "end": "2025-12-19 11:50:14.229666", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.224638", "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.005430", "end": "2025-12-19 11:50:14.243530", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.238100", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004010", "end": "2025-12-19 11:49:46.329036", "msg": "", "rc": 0, "start": "2025-12-19 11:49:46.325026", "stderr": "", "stderr_lines": [], "stdout": "70.1%", "stdout_lines": ["70.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.004562", "end": "2025-12-19 11:49:39.142414", "msg": "", "rc": 0, "start": "2025-12-19 11:49:39.137852", "stderr": "", "stderr_lines": [], "stdout": "66.6%", "stdout_lines": ["66.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.011067", "end": "2025-12-19 11:50:14.871731", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.860664", "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.011739", "end": "2025-12-19 11:50:14.923346", "msg": "", "rc": 0, "start": "2025-12-19 11:50:14.911607", "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.006473", "end": "2025-12-19 11:50:15.275702", "msg": "", "rc": 0, "start": "2025-12-19 11:50:15.269229", "stderr": "", "stderr_lines": [], "stdout": "16.7%", "stdout_lines": ["16.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.004401", "end": "2025-12-19 11:49:42.341856", "msg": "", "rc": 0, "start": "2025-12-19 11:49:42.337455", "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.005058", "end": "2025-12-19 08:50:15.378760", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 08:50:15.373702", "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.004250", "end": "2025-12-19 11:49:49.616601", "msg": "", "rc": 0, "start": "2025-12-19 11:49:49.612351", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.009376", "end": "2025-12-19 11:50:15.746623", "msg": "", "rc": 0, "start": "2025-12-19 11:50:15.737247", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.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.005497", "end": "2025-12-19 11:50:15.695355", "msg": "", "rc": 0, "start": "2025-12-19 11:50:15.689858", "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.026034", "end": "2025-12-19 11:50:15.585627", "msg": "", "rc": 0, "start": "2025-12-19 11:50:15.559593", "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.005408", "end": "2025-12-19 11:50:16.107512", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.102104", "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-19 11:50:16.117259", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.112428", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.006038", "end": "2025-12-19 11:50:16.167397", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.161359", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.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.003317", "end": "2025-12-19 11:50:16.172396", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.169079", "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.005971", "end": "2025-12-19 11:50:16.197363", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.191392", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002559", "end": "2025-12-19 11:49:48.185844", "msg": "", "rc": 0, "start": "2025-12-19 11:49:48.183285", "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.003205", "end": "2025-12-19 11:49:41.093561", "msg": "", "rc": 0, "start": "2025-12-19 11:49:41.090356", "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.011751", "end": "2025-12-19 11:50:16.833069", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.821318", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012925", "end": "2025-12-19 11:50:16.841029", "msg": "", "rc": 0, "start": "2025-12-19 11:50:16.828104", "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.003182", "end": "2025-12-19 11:50:17.108607", "msg": "", "rc": 0, "start": "2025-12-19 11:50:17.105425", "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.002908", "end": "2025-12-19 11:49:44.279332", "msg": "", "rc": 0, "start": "2025-12-19 11:49:44.276424", "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-19 08:50:17.303320", "msg": "", "rc": 0, "start": "2025-12-19 08:50:17.299458", "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.002615", "end": "2025-12-19 11:49:51.505747", "msg": "", "rc": 0, "start": "2025-12-19 11:49:51.503132", "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.003101", "end": "2025-12-19 11:50:17.545252", "msg": "", "rc": 0, "start": "2025-12-19 11:50:17.542151", "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.004523", "end": "2025-12-19 11:50:17.849721", "msg": "", "rc": 0, "start": "2025-12-19 11:50:17.845198", "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.028562", "end": "2025-12-19 11:50:17.506254", "msg": "", "rc": 0, "start": "2025-12-19 11:50:17.477692", "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.004143", "end": "2025-12-19 11:50:18.025520", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.021377", "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.004754", "end": "2025-12-19 11:50:18.045761", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.041007", "stderr": "", "stderr_lines": [], "stdout": "1.20", "stdout_lines": ["1.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.004138", "end": "2025-12-19 11:50:18.045393", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.041255", "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.005257", "end": "2025-12-19 11:50:18.082994", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.077737", "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.006555", "end": "2025-12-19 11:50:18.101976", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.095421", "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.004176", "end": "2025-12-19 11:49:50.107319", "msg": "", "rc": 0, "start": "2025-12-19 11:49:50.103143", "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.005147", "end": "2025-12-19 11:49:42.987298", "msg": "", "rc": 0, "start": "2025-12-19 11:49:42.982151", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010225", "end": "2025-12-19 11:50:18.800798", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.790573", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011110", "end": "2025-12-19 11:50:18.823701", "msg": "", "rc": 0, "start": "2025-12-19 11:50:18.812591", "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.006255", "end": "2025-12-19 11:50:19.033068", "msg": "", "rc": 0, "start": "2025-12-19 11:50:19.026813", "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.004872", "end": "2025-12-19 11:49:46.168253", "msg": "", "rc": 0, "start": "2025-12-19 11:49:46.163381", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006801", "end": "2025-12-19 08:50:19.290087", "msg": "", "rc": 0, "start": "2025-12-19 08:50:19.283286", "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.004542", "end": "2025-12-19 11:49:53.464183", "msg": "", "rc": 0, "start": "2025-12-19 11:49:53.459641", "stderr": "", "stderr_lines": [], "stdout": "1.08", "stdout_lines": ["1.08"]}
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.005235", "end": "2025-12-19 11:50:19.461062", "msg": "", "rc": 0, "start": "2025-12-19 11:50:19.455827", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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.007581", "end": "2025-12-19 11:50:19.912266", "msg": "", "rc": 0, "start": "2025-12-19 11:50:19.904685", "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.024455", "end": "2025-12-19 11:50:19.408212", "msg": "", "rc": 0, "start": "2025-12-19 11:50:19.383757", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:10 up 2:34, 1 user, load average: 0.18, 0.31, 0.39\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.25\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:10 up 23 days, 22:41, 1 user, load average: 0.33, 0.37, 0.30\nDisk Usage: 23%\nMemory Usage: 75.9%\nCPU Load: 0.30\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:10 up 23 days, 23:01, 1 user, load average: 1.30, 1.14, 1.03\nDisk Usage: 14%\nMemory Usage: 48.9%\nCPU Load: 1.20\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:10 up 24 days, 14 min, 1 user, load average: 0.83, 0.64, 0.57\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.78\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:10 up 24 days, 1:00, 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: 11:50:11 up 17 days, 1:16, 1 user, load average: 0.22, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.20\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:11 up 196 days, 3:23, 1 user, load average: 0.34, 0.31, 0.19\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.31\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:11 up 196 days, 3:23, 1 user, load average: 0.11, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.18\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:49:42 up 12 days, 23:39, 0 user, load average: 0.17, 0.23, 0.19\nDisk Usage: 50%\nMemory Usage: 70.1%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:49:35 up 19 days, 19:51, 0 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 66.6%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:11 up 2:33, 1 user, load average: 0.09, 0.05, 0.00\nDisk Usage: 1%\nMemory Usage: 16.7%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:49:38 up 22 days, 14:43, 0 user, load average: 0.55, 0.45, 0.45\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:49:45 up 19 days, 1:05, 0 user, load average: 1.18, 0.87, 0.60\nDisk Usage: 76%\nMemory Usage: 64.6%\nCPU Load: 1.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:50AM up 23 days, 22:39, 1 user, load averages: 0.50, 0.27, 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:50:11 up 2:33, 1 user, load average: 0.19, 0.23, 0.16\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50:14 up 21:52, 1 user, load average: 1.36, 1.25, 1.24\nDisk Usage: 1%\nMemory Usage: 13.6%\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-19T16:50:20.956435+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d0d96484b8fa459bbc6f88e6895fcc68` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:25:00.001963+00:00 |
| **Fin** | 2025-12-19T19:25:20.296050+00:00 |
| **Durée** | 20.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: [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.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.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: [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.003181", "end": "2025-12-19 14:25:09.315159", "msg": "", "rc": 0, "start": "2025-12-19 14:25:09.311978", "stderr": "", "stderr_lines": [], "stdout": " 14:25:09 up 24 days, 1:16, 1 user, load average: 0.07, 0.06, 0.08", "stdout_lines": [" 14:25:09 up 24 days, 1:16, 1 user, load average: 0.07, 0.06, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003475", "end": "2025-12-19 14:25:09.317911", "msg": "", "rc": 0, "start": "2025-12-19 14:25:09.314436", "stderr": "", "stderr_lines": [], "stdout": " 14:25:09 up 24 days, 1:36, 1 user, load average: 0.86, 0.76, 0.74", "stdout_lines": [" 14:25:09 up 24 days, 1:36, 1 user, load average: 0.86, 0.76, 0.74"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003961", "end": "2025-12-19 14:25:09.325433", "msg": "", "rc": 0, "start": "2025-12-19 14:25:09.321472", "stderr": "", "stderr_lines": [], "stdout": " 14:25:09 up 24 days, 3:35, 1 user, load average: 0.16, 0.11, 0.04", "stdout_lines": [" 14:25:09 up 24 days, 3:35, 1 user, load average: 0.16, 0.11, 0.04"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002875", "end": "2025-12-19 14:25:09.348324", "msg": "", "rc": 0, "start": "2025-12-19 14:25:09.345449", "stderr": "", "stderr_lines": [], "stdout": " 14:25:09 up 5:09, 2 users, load average: 0.14, 0.29, 0.37", "stdout_lines": [" 14:25:09 up 5:09, 2 users, load average: 0.14, 0.29, 0.37"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003806", "end": "2025-12-19 14:25:09.341796", "msg": "", "rc": 0, "start": "2025-12-19 14:25:09.337990", "stderr": "", "stderr_lines": [], "stdout": " 14:25:09 up 24 days, 2:49, 1 user, load average: 0.78, 0.68, 0.60", "stdout_lines": [" 14:25:09 up 24 days, 2:49, 1 user, load average: 0.78, 0.68, 0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002730", "end": "2025-12-19 14:24:41.228063", "msg": "", "rc": 0, "start": "2025-12-19 14:24:41.225333", "stderr": "", "stderr_lines": [], "stdout": " 14:24:41 up 13 days, 2:14, 0 user, load average: 0.09, 0.07, 0.08", "stdout_lines": [" 14:24:41 up 13 days, 2:14, 0 user, load average: 0.09, 0.07, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003606", "end": "2025-12-19 14:24:34.122912", "msg": "", "rc": 0, "start": "2025-12-19 14:24:34.119306", "stderr": "", "stderr_lines": [], "stdout": " 14:24:34 up 19 days, 22:26, 0 user, load average: 0.05, 0.03, 0.00", "stdout_lines": [" 14:24:34 up 19 days, 22:26, 0 user, load average: 0.05, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008444", "end": "2025-12-19 14:25:09.988196", "msg": "", "rc": 0, "start": "2025-12-19 14:25:09.979752", "stderr": "", "stderr_lines": [], "stdout": " 14:25:09 up 196 days, 5:58, 1 user, load average: 0.16, 0.12, 0.09", "stdout_lines": [" 14:25:09 up 196 days, 5:58, 1 user, load average: 0.16, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009262", "end": "2025-12-19 14:25:10.042597", "msg": "", "rc": 0, "start": "2025-12-19 14:25:10.033335", "stderr": "", "stderr_lines": [], "stdout": " 14:25:10 up 196 days, 5:58, 1 user, load average: 0.19, 0.16, 0.10", "stdout_lines": [" 14:25:10 up 196 days, 5:58, 1 user, load average: 0.19, 0.16, 0.10"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004476", "end": "2025-12-19 14:25:10.253773", "msg": "", "rc": 0, "start": "2025-12-19 14:25:10.249297", "stderr": "", "stderr_lines": [], "stdout": " 14:25:10 up 5:08, 1 user, load average: 0.37, 0.09, 0.03", "stdout_lines": [" 14:25:10 up 5:08, 1 user, load average: 0.37, 0.09, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003338", "end": "2025-12-19 14:24:37.290274", "msg": "", "rc": 0, "start": "2025-12-19 14:24:37.286936", "stderr": "", "stderr_lines": [], "stdout": " 14:24:37 up 22 days, 17:18, 0 user, load average: 0.78, 0.56, 0.49", "stdout_lines": [" 14:24:37 up 22 days, 17:18, 0 user, load average: 0.78, 0.56, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008254", "end": "2025-12-19 14:24:44.551112", "msg": "", "rc": 0, "start": "2025-12-19 14:24:44.542858", "stderr": "", "stderr_lines": [], "stdout": " 14:24:44 up 19 days, 3:40, 0 user, load average: 0.22, 0.16, 0.19", "stdout_lines": [" 14:24:44 up 19 days, 3:40, 0 user, load average: 0.22, 0.16, 0.19"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004228", "end": "2025-12-19 11:25:10.502034", "msg": "", "rc": 0, "start": "2025-12-19 11:25:10.497806", "stderr": "", "stderr_lines": [], "stdout": "11:25AM up 24 days, 1:14, 1 user, load averages: 0.29, 0.22, 0.18", "stdout_lines": ["11:25AM up 24 days, 1:14, 1 user, load averages: 0.29, 0.22, 0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003707", "end": "2025-12-19 14:25:10.664236", "msg": "", "rc": 0, "start": "2025-12-19 14:25:10.660529", "stderr": "", "stderr_lines": [], "stdout": " 14:25:10 up 5:08, 1 user, load average: 0.00, 0.03, 0.06", "stdout_lines": [" 14:25:10 up 5:08, 1 user, load average: 0.00, 0.03, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007587", "end": "2025-12-19 14:25:11.155679", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.148092", "stderr": "", "stderr_lines": [], "stdout": " 14:25:11 up 18 min, 1 user, load average: 1.18, 0.80, 0.36", "stdout_lines": [" 14:25:11 up 18 min, 1 user, load average: 1.18, 0.80, 0.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019645", "end": "2025-12-19 14:25:10.703420", "msg": "", "rc": 0, "start": "2025-12-19 14:25:10.683775", "stderr": "", "stderr_lines": [], "stdout": " 14:25:10 up 17 days, 3:51, 1 user, load average: 0.26, 0.08, 0.02", "stdout_lines": [" 14:25:10 up 17 days, 3:51, 1 user, load average: 0.26, 0.08, 0.02"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004124", "end": "2025-12-19 14:25:11.231840", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.227716", "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.004483", "end": "2025-12-19 14:25:11.234521", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.230038", "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.004153", "end": "2025-12-19 14:25:11.246491", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.242338", "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.004928", "end": "2025-12-19 14:25:11.274505", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.269577", "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-19 14:25:11.276667", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.271092", "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.005290", "end": "2025-12-19 14:24:43.155143", "msg": "", "rc": 0, "start": "2025-12-19 14:24:43.149853", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005445", "end": "2025-12-19 14:24:36.017080", "msg": "", "rc": 0, "start": "2025-12-19 14:24:36.011635", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010661", "end": "2025-12-19 14:25:11.960049", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.949388", "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.011477", "end": "2025-12-19 14:25:12.001791", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.990314", "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-19 14:25:12.191622", "msg": "", "rc": 0, "start": "2025-12-19 14:25:12.185886", "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.005245", "end": "2025-12-19 14:24:39.178045", "msg": "", "rc": 0, "start": "2025-12-19 14:24:39.172800", "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.008625", "end": "2025-12-19 14:24:46.511638", "msg": "", "rc": 0, "start": "2025-12-19 14:24:46.503013", "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.005468", "end": "2025-12-19 11:25:12.472925", "msg": "", "rc": 0, "start": "2025-12-19 11:25:12.467457", "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.005963", "end": "2025-12-19 14:25:12.619499", "msg": "", "rc": 0, "start": "2025-12-19 14:25:12.613536", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019865", "end": "2025-12-19 14:25:13.192753", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.172888", "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.025566", "end": "2025-12-19 14:25:12.624210", "msg": "", "rc": 0, "start": "2025-12-19 14:25:12.598644", "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.004414", "end": "2025-12-19 14:25:13.134972", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.130558", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004222", "end": "2025-12-19 14:25:13.167720", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.163498", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005100", "end": "2025-12-19 14:25:13.168622", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.163522", "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.005434", "end": "2025-12-19 14:25:13.192389", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.186955", "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.006055", "end": "2025-12-19 14:25:13.198146", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.192091", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003779", "end": "2025-12-19 14:24:45.052713", "msg": "", "rc": 0, "start": "2025-12-19 14:24:45.048934", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004406", "end": "2025-12-19 14:24:37.925183", "msg": "", "rc": 0, "start": "2025-12-19 14:24:37.920777", "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.011113", "end": "2025-12-19 14:25:13.819797", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.808684", "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.011916", "end": "2025-12-19 14:25:13.867504", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.855588", "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.006016", "end": "2025-12-19 14:25:14.062610", "msg": "", "rc": 0, "start": "2025-12-19 14:25:14.056594", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004495", "end": "2025-12-19 14:24:41.096695", "msg": "", "rc": 0, "start": "2025-12-19 14:24:41.092200", "stderr": "", "stderr_lines": [], "stdout": "27.7%", "stdout_lines": ["27.7%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009746", "end": "2025-12-19 14:24:48.353141", "msg": "", "rc": 0, "start": "2025-12-19 14:24:48.343395", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.005151", "end": "2025-12-19 11:25:14.308993", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:25:14.303842", "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.006433", "end": "2025-12-19 14:25:14.503133", "msg": "", "rc": 0, "start": "2025-12-19 14:25:14.496700", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.011607", "end": "2025-12-19 14:25:15.293567", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.281960", "stderr": "", "stderr_lines": [], "stdout": "11.9%", "stdout_lines": ["11.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026496", "end": "2025-12-19 14:25:14.505447", "msg": "", "rc": 0, "start": "2025-12-19 14:25:14.478951", "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.005488", "end": "2025-12-19 14:25:15.019157", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.013669", "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.005693", "end": "2025-12-19 14:25:15.040322", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.034629", "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.004914", "end": "2025-12-19 14:25:15.050754", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.045840", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003248", "end": "2025-12-19 14:25:15.059937", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.056689", "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.006685", "end": "2025-12-19 14:25:15.071142", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.064457", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002588", "end": "2025-12-19 14:24:46.972852", "msg": "", "rc": 0, "start": "2025-12-19 14:24:46.970264", "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.003134", "end": "2025-12-19 14:24:39.804942", "msg": "", "rc": 0, "start": "2025-12-19 14:24:39.801808", "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.011792", "end": "2025-12-19 14:25:15.698499", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.686707", "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.013060", "end": "2025-12-19 14:25:15.748419", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.735359", "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.003140", "end": "2025-12-19 14:25:15.994845", "msg": "", "rc": 0, "start": "2025-12-19 14:25:15.991705", "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.002727", "end": "2025-12-19 14:24:42.977063", "msg": "", "rc": 0, "start": "2025-12-19 14:24:42.974336", "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.002754", "end": "2025-12-19 14:24:50.237174", "msg": "", "rc": 0, "start": "2025-12-19 14:24:50.234420", "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.004020", "end": "2025-12-19 11:25:16.194141", "msg": "", "rc": 0, "start": "2025-12-19 11:25:16.190121", "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.003102", "end": "2025-12-19 14:25:16.421050", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.417948", "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.004923", "end": "2025-12-19 14:25:17.294763", "msg": "", "rc": 0, "start": "2025-12-19 14:25:17.289840", "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.028584", "end": "2025-12-19 14:25:16.402123", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.373539", "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.004090", "end": "2025-12-19 14:25:16.907538", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.903448", "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.003991", "end": "2025-12-19 14:25:16.934266", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.930275", "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.004977", "end": "2025-12-19 14:25:16.942251", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.937274", "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.005181", "end": "2025-12-19 14:25:16.962657", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.957476", "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.005838", "end": "2025-12-19 14:25:16.987389", "msg": "", "rc": 0, "start": "2025-12-19 14:25:16.981551", "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.004182", "end": "2025-12-19 14:24:48.838159", "msg": "", "rc": 0, "start": "2025-12-19 14:24:48.833977", "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.005350", "end": "2025-12-19 14:24:41.739798", "msg": "", "rc": 0, "start": "2025-12-19 14:24:41.734448", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.009941", "end": "2025-12-19 14:25:17.685506", "msg": "", "rc": 0, "start": "2025-12-19 14:25:17.675565", "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.010927", "end": "2025-12-19 14:25:17.713603", "msg": "", "rc": 0, "start": "2025-12-19 14:25:17.702676", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005747", "end": "2025-12-19 14:25:17.865487", "msg": "", "rc": 0, "start": "2025-12-19 14:25:17.859740", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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-19 14:24:44.929251", "msg": "", "rc": 0, "start": "2025-12-19 14:24:44.924311", "stderr": "", "stderr_lines": [], "stdout": "0.71", "stdout_lines": ["0.71"]}
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.005887", "end": "2025-12-19 11:25:18.166816", "msg": "", "rc": 0, "start": "2025-12-19 11:25:18.160929", "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.004801", "end": "2025-12-19 14:24:52.226900", "msg": "", "rc": 0, "start": "2025-12-19 14:24:52.222099", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005383", "end": "2025-12-19 14:25:18.315953", "msg": "", "rc": 0, "start": "2025-12-19 14:25:18.310570", "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.006993", "end": "2025-12-19 14:25:19.421427", "msg": "", "rc": 0, "start": "2025-12-19 14:25:19.414434", "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.024840", "end": "2025-12-19 14:25:18.302028", "msg": "", "rc": 0, "start": "2025-12-19 14:25:18.277188", "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: 14:25:09 up 24 days, 1:16, 1 user, load average: 0.07, 0.06, 0.08\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.06\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:09 up 24 days, 1:36, 1 user, load average: 0.86, 0.76, 0.74\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.95\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:09 up 5:09, 2 users, load average: 0.14, 0.29, 0.37\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.20\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:09 up 24 days, 2:49, 1 user, load average: 0.78, 0.68, 0.60\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.72\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:09 up 24 days, 3:35, 1 user, load average: 0.16, 0.11, 0.04\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:10 up 17 days, 3:51, 1 user, load average: 0.26, 0.08, 0.02\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.32\nCPU Temp: 36.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:10 up 196 days, 5:58, 1 user, load average: 0.19, 0.16, 0.10\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.26\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:09 up 196 days, 5:58, 1 user, load average: 0.16, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.15\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:41 up 13 days, 2:14, 0 user, load average: 0.09, 0.07, 0.08\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:34 up 19 days, 22:26, 0 user, load average: 0.05, 0.03, 0.00\nDisk Usage: 25%\nMemory Usage: 65.0%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:10 up 5:08, 1 user, load average: 0.37, 0.09, 0.03\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:37 up 22 days, 17:18, 0 user, load average: 0.78, 0.56, 0.49\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.71\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:44 up 19 days, 3:40, 0 user, load average: 0.22, 0.16, 0.19\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25AM up 24 days, 1:14, 1 user, load averages: 0.29, 0.22, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:10 up 5:08, 1 user, load average: 0.00, 0.03, 0.06\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:11 up 18 min, 1 user, load average: 1.18, 0.80, 0.36\nDisk Usage: 1%\nMemory Usage: 11.9%\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-19T19:25:20.358496+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8e565bf7e88f4487986c509198ced772` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:30:00.001937+00:00 |
| **Fin** | 2025-12-19T19:30:20.419441+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: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [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: [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.003301", "end": "2025-12-19 14:30:09.349494", "msg": "", "rc": 0, "start": "2025-12-19 14:30:09.346193", "stderr": "", "stderr_lines": [], "stdout": " 14:30:09 up 24 days, 1:21, 1 user, load average: 0.13, 0.11, 0.09", "stdout_lines": [" 14:30:09 up 24 days, 1:21, 1 user, load average: 0.13, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003643", "end": "2025-12-19 14:30:09.353360", "msg": "", "rc": 0, "start": "2025-12-19 14:30:09.349717", "stderr": "", "stderr_lines": [], "stdout": " 14:30:09 up 24 days, 3:40, 1 user, load average: 0.13, 0.09, 0.03", "stdout_lines": [" 14:30:09 up 24 days, 3:40, 1 user, load average: 0.13, 0.09, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003364", "end": "2025-12-19 14:30:09.357229", "msg": "", "rc": 0, "start": "2025-12-19 14:30:09.353865", "stderr": "", "stderr_lines": [], "stdout": " 14:30:09 up 24 days, 1:41, 1 user, load average: 0.62, 0.70, 0.72", "stdout_lines": [" 14:30:09 up 24 days, 1:41, 1 user, load average: 0.62, 0.70, 0.72"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003864", "end": "2025-12-19 14:30:09.370913", "msg": "", "rc": 0, "start": "2025-12-19 14:30:09.367049", "stderr": "", "stderr_lines": [], "stdout": " 14:30:09 up 24 days, 2:54, 1 user, load average: 1.48, 0.81, 0.66", "stdout_lines": [" 14:30:09 up 24 days, 2:54, 1 user, load average: 1.48, 0.81, 0.66"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003033", "end": "2025-12-19 14:30:09.379721", "msg": "", "rc": 0, "start": "2025-12-19 14:30:09.376688", "stderr": "", "stderr_lines": [], "stdout": " 14:30:09 up 5:14, 1 user, load average: 0.25, 0.23, 0.32", "stdout_lines": [" 14:30:09 up 5:14, 1 user, load average: 0.25, 0.23, 0.32"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003259", "end": "2025-12-19 14:29:41.280979", "msg": "", "rc": 0, "start": "2025-12-19 14:29:41.277720", "stderr": "", "stderr_lines": [], "stdout": " 14:29:41 up 13 days, 2:19, 0 user, load average: 0.26, 0.13, 0.10", "stdout_lines": [" 14:29:41 up 13 days, 2:19, 0 user, load average: 0.26, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003537", "end": "2025-12-19 14:29:34.132192", "msg": "", "rc": 0, "start": "2025-12-19 14:29:34.128655", "stderr": "", "stderr_lines": [], "stdout": " 14:29:34 up 19 days, 22:31, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 14:29:34 up 19 days, 22:31, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008437", "end": "2025-12-19 14:30:10.026300", "msg": "", "rc": 0, "start": "2025-12-19 14:30:10.017863", "stderr": "", "stderr_lines": [], "stdout": " 14:30:10 up 196 days, 6:03, 1 user, load average: 0.19, 0.17, 0.11", "stdout_lines": [" 14:30:10 up 196 days, 6:03, 1 user, load average: 0.19, 0.17, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009110", "end": "2025-12-19 14:30:10.077616", "msg": "", "rc": 0, "start": "2025-12-19 14:30:10.068506", "stderr": "", "stderr_lines": [], "stdout": " 14:30:10 up 196 days, 6:03, 1 user, load average: 0.08, 0.20, 0.15", "stdout_lines": [" 14:30:10 up 196 days, 6:03, 1 user, load average: 0.08, 0.20, 0.15"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004855", "end": "2025-12-19 14:30:10.316021", "msg": "", "rc": 0, "start": "2025-12-19 14:30:10.311166", "stderr": "", "stderr_lines": [], "stdout": " 14:30:10 up 5:13, 1 user, load average: 0.25, 0.14, 0.06", "stdout_lines": [" 14:30:10 up 5:13, 1 user, load average: 0.25, 0.14, 0.06"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003331", "end": "2025-12-19 14:29:37.309307", "msg": "", "rc": 0, "start": "2025-12-19 14:29:37.305976", "stderr": "", "stderr_lines": [], "stdout": " 14:29:37 up 22 days, 17:23, 0 user, load average: 0.41, 0.41, 0.44", "stdout_lines": [" 14:29:37 up 22 days, 17:23, 0 user, load average: 0.41, 0.41, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002962", "end": "2025-12-19 14:29:44.563865", "msg": "", "rc": 0, "start": "2025-12-19 14:29:44.560903", "stderr": "", "stderr_lines": [], "stdout": " 14:29:44 up 19 days, 3:45, 0 user, load average: 0.00, 0.07, 0.14", "stdout_lines": [" 14:29:44 up 19 days, 3:45, 0 user, load average: 0.00, 0.07, 0.14"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004198", "end": "2025-12-19 11:30:10.531308", "msg": "", "rc": 0, "start": "2025-12-19 11:30:10.527110", "stderr": "", "stderr_lines": [], "stdout": "11:30AM up 24 days, 1:19, 1 user, load averages: 0.08, 0.14, 0.15", "stdout_lines": ["11:30AM up 24 days, 1:19, 1 user, load averages: 0.08, 0.14, 0.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003671", "end": "2025-12-19 14:30:10.721255", "msg": "", "rc": 0, "start": "2025-12-19 14:30:10.717584", "stderr": "", "stderr_lines": [], "stdout": " 14:30:10 up 5:13, 1 user, load average: 0.74, 0.28, 0.14", "stdout_lines": [" 14:30:10 up 5:13, 1 user, load average: 0.74, 0.28, 0.14"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010540", "end": "2025-12-19 14:30:11.171880", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.161340", "stderr": "", "stderr_lines": [], "stdout": " 14:30:11 up 23 min, 1 user, load average: 1.30, 1.05, 0.61", "stdout_lines": [" 14:30:11 up 23 min, 1 user, load average: 1.30, 1.05, 0.61"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019384", "end": "2025-12-19 14:30:10.731305", "msg": "", "rc": 0, "start": "2025-12-19 14:30:10.711921", "stderr": "", "stderr_lines": [], "stdout": " 14:30:10 up 17 days, 3:56, 1 user, load average: 0.30, 0.16, 0.06", "stdout_lines": [" 14:30:10 up 17 days, 3:56, 1 user, load average: 0.30, 0.16, 0.06"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004264", "end": "2025-12-19 14:30:11.243174", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.238910", "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.004169", "end": "2025-12-19 14:30:11.272351", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.268182", "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.005725", "end": "2025-12-19 14:30:11.282863", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.277138", "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.005195", "end": "2025-12-19 14:30:11.295156", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.289961", "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.005642", "end": "2025-12-19 14:30:11.317036", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.311394", "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.005161", "end": "2025-12-19 14:29:43.172866", "msg": "", "rc": 0, "start": "2025-12-19 14:29:43.167705", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005563", "end": "2025-12-19 14:29:36.043888", "msg": "", "rc": 0, "start": "2025-12-19 14:29:36.038325", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.017522", "end": "2025-12-19 14:30:11.955152", "msg": "", "rc": 0, "start": "2025-12-19 14:30:11.937630", "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.011635", "end": "2025-12-19 14:30:12.025988", "msg": "", "rc": 0, "start": "2025-12-19 14:30:12.014353", "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.005714", "end": "2025-12-19 14:30:12.194733", "msg": "", "rc": 0, "start": "2025-12-19 14:30:12.189019", "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.005137", "end": "2025-12-19 14:29:39.218473", "msg": "", "rc": 0, "start": "2025-12-19 14:29:39.213336", "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.004862", "end": "2025-12-19 14:29:46.526850", "msg": "", "rc": 0, "start": "2025-12-19 14:29:46.521988", "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.005589", "end": "2025-12-19 11:30:12.469022", "msg": "", "rc": 0, "start": "2025-12-19 11:30:12.463433", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005283", "end": "2025-12-19 14:30:12.610196", "msg": "", "rc": 0, "start": "2025-12-19 14:30:12.604913", "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-19 14:30:13.293406", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.273282", "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.025349", "end": "2025-12-19 14:30:12.632229", "msg": "", "rc": 0, "start": "2025-12-19 14:30:12.606880", "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.004197", "end": "2025-12-19 14:30:13.165172", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.160975", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004211", "end": "2025-12-19 14:30:13.176413", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.172202", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004867", "end": "2025-12-19 14:30:13.195222", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.190355", "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.004876", "end": "2025-12-19 14:30:13.209687", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.204811", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005572", "end": "2025-12-19 14:30:13.218229", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.212657", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003821", "end": "2025-12-19 14:29:45.088117", "msg": "", "rc": 0, "start": "2025-12-19 14:29:45.084296", "stderr": "", "stderr_lines": [], "stdout": "70.1%", "stdout_lines": ["70.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.004323", "end": "2025-12-19 14:29:37.956597", "msg": "", "rc": 0, "start": "2025-12-19 14:29:37.952274", "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.010873", "end": "2025-12-19 14:30:13.861694", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.850821", "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.011841", "end": "2025-12-19 14:30:13.900289", "msg": "", "rc": 0, "start": "2025-12-19 14:30:13.888448", "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.005864", "end": "2025-12-19 14:30:14.111372", "msg": "", "rc": 0, "start": "2025-12-19 14:30:14.105508", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004260", "end": "2025-12-19 14:29:41.129367", "msg": "", "rc": 0, "start": "2025-12-19 14:29:41.125107", "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.005223", "end": "2025-12-19 11:30:14.354128", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:30:14.348905", "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.005470", "end": "2025-12-19 14:29:48.405582", "msg": "", "rc": 0, "start": "2025-12-19 14:29:48.400112", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.005479", "end": "2025-12-19 14:30:14.531080", "msg": "", "rc": 0, "start": "2025-12-19 14:30:14.525601", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.010464", "end": "2025-12-19 14:30:15.383801", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.373337", "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.026003", "end": "2025-12-19 14:30:14.559539", "msg": "", "rc": 0, "start": "2025-12-19 14:30:14.533536", "stderr": "", "stderr_lines": [], "stdout": "21.1%", "stdout_lines": ["21.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005205", "end": "2025-12-19 14:30:15.051299", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.046094", "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-19 14:30:15.087290", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.082467", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.003388", "end": "2025-12-19 14:30:15.109891", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.106503", "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.005868", "end": "2025-12-19 14:30:15.129409", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.123541", "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.006368", "end": "2025-12-19 14:30:15.130628", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.124260", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003205", "end": "2025-12-19 14:29:47.027270", "msg": "", "rc": 0, "start": "2025-12-19 14:29:47.024065", "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.003066", "end": "2025-12-19 14:29:39.890176", "msg": "", "rc": 0, "start": "2025-12-19 14:29:39.887110", "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.011835", "end": "2025-12-19 14:30:15.767831", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.755996", "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.012936", "end": "2025-12-19 14:30:15.782541", "msg": "", "rc": 0, "start": "2025-12-19 14:30:15.769605", "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.003334", "end": "2025-12-19 14:30:16.054711", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.051377", "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.002933", "end": "2025-12-19 14:29:43.060599", "msg": "", "rc": 0, "start": "2025-12-19 14:29:43.057666", "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.003810", "end": "2025-12-19 11:30:16.226086", "msg": "", "rc": 0, "start": "2025-12-19 11:30:16.222276", "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.002861", "end": "2025-12-19 14:29:50.358856", "msg": "", "rc": 0, "start": "2025-12-19 14:29:50.355995", "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.002882", "end": "2025-12-19 14:30:16.467136", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.464254", "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.004092", "end": "2025-12-19 14:30:17.493980", "msg": "", "rc": 0, "start": "2025-12-19 14:30:17.489888", "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.028978", "end": "2025-12-19 14:30:16.451660", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.422682", "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.004155", "end": "2025-12-19 14:30:16.956787", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.952632", "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.003978", "end": "2025-12-19 14:30:16.995807", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.991829", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
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.004479", "end": "2025-12-19 14:30:16.995053", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.990574", "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.005234", "end": "2025-12-19 14:30:17.013623", "msg": "", "rc": 0, "start": "2025-12-19 14:30:17.008389", "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.005218", "end": "2025-12-19 14:30:17.021214", "msg": "", "rc": 0, "start": "2025-12-19 14:30:17.015996", "stderr": "", "stderr_lines": [], "stdout": "1.44", "stdout_lines": ["1.44"]}
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.004241", "end": "2025-12-19 14:29:48.913595", "msg": "", "rc": 0, "start": "2025-12-19 14:29:48.909354", "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.005189", "end": "2025-12-19 14:29:41.752663", "msg": "", "rc": 0, "start": "2025-12-19 14:29:41.747474", "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.010169", "end": "2025-12-19 14:30:17.744732", "msg": "", "rc": 0, "start": "2025-12-19 14:30:17.734563", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011081", "end": "2025-12-19 14:30:17.779471", "msg": "", "rc": 0, "start": "2025-12-19 14:30:17.768390", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005523", "end": "2025-12-19 14:30:17.925755", "msg": "", "rc": 0, "start": "2025-12-19 14:30:17.920232", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.004984", "end": "2025-12-19 14:29:44.913239", "msg": "", "rc": 0, "start": "2025-12-19 14:29:44.908255", "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.005922", "end": "2025-12-19 11:30:18.240538", "msg": "", "rc": 0, "start": "2025-12-19 11:30:18.234616", "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.004240", "end": "2025-12-19 14:29:52.305561", "msg": "", "rc": 0, "start": "2025-12-19 14:29:52.301321", "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.005355", "end": "2025-12-19 14:30:18.347722", "msg": "", "rc": 0, "start": "2025-12-19 14:30:18.342367", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
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.009693", "end": "2025-12-19 14:30:19.522495", "msg": "", "rc": 0, "start": "2025-12-19 14:30:19.512802", "stderr": "", "stderr_lines": [], "stdout": "1.36", "stdout_lines": ["1.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024435", "end": "2025-12-19 14:30:18.339424", "msg": "", "rc": 0, "start": "2025-12-19 14:30:18.314989", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:09 up 24 days, 1:21, 1 user, load average: 0.13, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 76.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: 14:30:09 up 24 days, 1:41, 1 user, load average: 0.62, 0.70, 0.72\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.77\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:09 up 5:14, 1 user, load average: 0.25, 0.23, 0.32\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.59\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:09 up 24 days, 2:54, 1 user, load average: 1.48, 0.81, 0.66\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 1.44\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:09 up 24 days, 3:40, 1 user, load average: 0.13, 0.09, 0.03\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:10 up 17 days, 3:56, 1 user, load average: 0.30, 0.16, 0.06\nDisk Usage: 21%\nMemory Usage: 21.1%\nCPU Load: 0.36\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:10 up 196 days, 6:03, 1 user, load average: 0.08, 0.20, 0.15\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.07\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:10 up 196 days, 6:03, 1 user, load average: 0.19, 0.17, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.18\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:41 up 13 days, 2:19, 0 user, load average: 0.26, 0.13, 0.10\nDisk Usage: 50%\nMemory Usage: 70.1%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:34 up 19 days, 22:31, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 25%\nMemory Usage: 65.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:10 up 5:13, 1 user, load average: 0.25, 0.14, 0.06\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:37 up 22 days, 17:23, 0 user, load average: 0.41, 0.41, 0.44\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:44 up 19 days, 3:45, 0 user, load average: 0.00, 0.07, 0.14\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:30AM up 24 days, 1:19, 1 user, load averages: 0.08, 0.14, 0.15\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:10 up 5:13, 1 user, load average: 0.74, 0.28, 0.14\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.62\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:11 up 23 min, 1 user, load average: 1.30, 1.05, 0.61\nDisk Usage: 1%\nMemory Usage: 12.4%\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-19T19:30:20.470622+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a63770df0b984759a3e12abcedbe7670` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:35:00.001094+00:00 |
| **Fin** | 2025-12-19T19:35:20.228174+00:00 |
| **Durée** | 20.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.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: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003273", "end": "2025-12-19 14:35:08.974312", "msg": "", "rc": 0, "start": "2025-12-19 14:35:08.971039", "stderr": "", "stderr_lines": [], "stdout": " 14:35:08 up 24 days, 1:26, 1 user, load average: 0.12, 0.11, 0.09", "stdout_lines": [" 14:35:08 up 24 days, 1:26, 1 user, load average: 0.12, 0.11, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003141", "end": "2025-12-19 14:35:08.984173", "msg": "", "rc": 0, "start": "2025-12-19 14:35:08.981032", "stderr": "", "stderr_lines": [], "stdout": " 14:35:08 up 24 days, 1:46, 1 user, load average: 0.82, 0.71, 0.72", "stdout_lines": [" 14:35:08 up 24 days, 1:46, 1 user, load average: 0.82, 0.71, 0.72"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003576", "end": "2025-12-19 14:35:08.992862", "msg": "", "rc": 0, "start": "2025-12-19 14:35:08.989286", "stderr": "", "stderr_lines": [], "stdout": " 14:35:08 up 24 days, 3:45, 1 user, load average: 0.01, 0.05, 0.02", "stdout_lines": [" 14:35:08 up 24 days, 3:45, 1 user, load average: 0.01, 0.05, 0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003953", "end": "2025-12-19 14:35:09.007595", "msg": "", "rc": 0, "start": "2025-12-19 14:35:09.003642", "stderr": "", "stderr_lines": [], "stdout": " 14:35:09 up 24 days, 2:59, 1 user, load average: 0.56, 0.67, 0.64", "stdout_lines": [" 14:35:09 up 24 days, 2:59, 1 user, load average: 0.56, 0.67, 0.64"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002984", "end": "2025-12-19 14:35:09.018268", "msg": "", "rc": 0, "start": "2025-12-19 14:35:09.015284", "stderr": "", "stderr_lines": [], "stdout": " 14:35:09 up 5:19, 1 user, load average: 0.23, 0.22, 0.28", "stdout_lines": [" 14:35:09 up 5:19, 1 user, load average: 0.23, 0.22, 0.28"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003259", "end": "2025-12-19 14:34:40.923526", "msg": "", "rc": 0, "start": "2025-12-19 14:34:40.920267", "stderr": "", "stderr_lines": [], "stdout": " 14:34:40 up 13 days, 2:24, 0 user, load average: 0.33, 0.22, 0.13", "stdout_lines": [" 14:34:40 up 13 days, 2:24, 0 user, load average: 0.33, 0.22, 0.13"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003706", "end": "2025-12-19 14:34:33.767015", "msg": "", "rc": 0, "start": "2025-12-19 14:34:33.763309", "stderr": "", "stderr_lines": [], "stdout": " 14:34:33 up 19 days, 22:36, 0 user, load average: 0.02, 0.02, 0.00", "stdout_lines": [" 14:34:33 up 19 days, 22:36, 0 user, load average: 0.02, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008283", "end": "2025-12-19 14:35:09.642325", "msg": "", "rc": 0, "start": "2025-12-19 14:35:09.634042", "stderr": "", "stderr_lines": [], "stdout": " 14:35:09 up 196 days, 6:08, 1 user, load average: 0.29, 0.18, 0.11", "stdout_lines": [" 14:35:09 up 196 days, 6:08, 1 user, load average: 0.29, 0.18, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009242", "end": "2025-12-19 14:35:09.696043", "msg": "", "rc": 0, "start": "2025-12-19 14:35:09.686801", "stderr": "", "stderr_lines": [], "stdout": " 14:35:09 up 196 days, 6:08, 1 user, load average: 0.17, 0.20, 0.16", "stdout_lines": [" 14:35:09 up 196 days, 6:08, 1 user, load average: 0.17, 0.20, 0.16"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004456", "end": "2025-12-19 14:35:09.934874", "msg": "", "rc": 0, "start": "2025-12-19 14:35:09.930418", "stderr": "", "stderr_lines": [], "stdout": " 14:35:09 up 5:18, 1 user, load average: 0.06, 0.06, 0.04", "stdout_lines": [" 14:35:09 up 5:18, 1 user, load average: 0.06, 0.06, 0.04"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003097", "end": "2025-12-19 14:34:36.935080", "msg": "", "rc": 0, "start": "2025-12-19 14:34:36.931983", "stderr": "", "stderr_lines": [], "stdout": " 14:34:36 up 22 days, 17:28, 0 user, load average: 0.64, 0.47, 0.45", "stdout_lines": [" 14:34:36 up 22 days, 17:28, 0 user, load average: 0.64, 0.47, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004171", "end": "2025-12-19 11:35:10.146667", "msg": "", "rc": 0, "start": "2025-12-19 11:35:10.142496", "stderr": "", "stderr_lines": [], "stdout": "11:35AM up 24 days, 1:24, 1 user, load averages: 0.38, 0.21, 0.17", "stdout_lines": ["11:35AM up 24 days, 1:24, 1 user, load averages: 0.38, 0.21, 0.17"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003233", "end": "2025-12-19 14:34:44.198828", "msg": "", "rc": 0, "start": "2025-12-19 14:34:44.195595", "stderr": "", "stderr_lines": [], "stdout": " 14:34:44 up 19 days, 3:50, 0 user, load average: 1.34, 0.39, 0.22", "stdout_lines": [" 14:34:44 up 19 days, 3:50, 0 user, load average: 1.34, 0.39, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003763", "end": "2025-12-19 14:35:10.354235", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.350472", "stderr": "", "stderr_lines": [], "stdout": " 14:35:10 up 5:18, 1 user, load average: 0.02, 0.19, 0.15", "stdout_lines": [" 14:35:10 up 5:18, 1 user, load average: 0.02, 0.19, 0.15"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009700", "end": "2025-12-19 14:35:10.961288", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.951588", "stderr": "", "stderr_lines": [], "stdout": " 14:35:10 up 29 min, 1 user, load average: 1.16, 1.06, 0.76", "stdout_lines": [" 14:35:10 up 29 min, 1 user, load average: 1.16, 1.06, 0.76"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019527", "end": "2025-12-19 14:35:10.353924", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.334397", "stderr": "", "stderr_lines": [], "stdout": " 14:35:10 up 17 days, 4:01, 1 user, load average: 0.26, 0.16, 0.08", "stdout_lines": [" 14:35:10 up 17 days, 4:01, 1 user, load average: 0.26, 0.16, 0.08"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004196", "end": "2025-12-19 14:35:10.878913", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.874717", "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.004103", "end": "2025-12-19 14:35:10.886639", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.882536", "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.004785", "end": "2025-12-19 14:35:10.892120", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.887335", "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.005148", "end": "2025-12-19 14:35:10.913397", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.908249", "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.005744", "end": "2025-12-19 14:35:10.927172", "msg": "", "rc": 0, "start": "2025-12-19 14:35:10.921428", "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.005010", "end": "2025-12-19 14:34:42.831752", "msg": "", "rc": 0, "start": "2025-12-19 14:34:42.826742", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005522", "end": "2025-12-19 14:34:35.650660", "msg": "", "rc": 0, "start": "2025-12-19 14:34:35.645138", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010485", "end": "2025-12-19 14:35:11.595038", "msg": "", "rc": 0, "start": "2025-12-19 14:35:11.584553", "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.013050", "end": "2025-12-19 14:35:11.637305", "msg": "", "rc": 0, "start": "2025-12-19 14:35:11.624255", "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.005641", "end": "2025-12-19 14:35:11.887822", "msg": "", "rc": 0, "start": "2025-12-19 14:35:11.882181", "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.005259", "end": "2025-12-19 14:34:38.835716", "msg": "", "rc": 0, "start": "2025-12-19 14:34:38.830457", "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.005452", "end": "2025-12-19 11:35:12.088065", "msg": "", "rc": 0, "start": "2025-12-19 11:35:12.082613", "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.004982", "end": "2025-12-19 14:34:46.157224", "msg": "", "rc": 0, "start": "2025-12-19 14:34:46.152242", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021040", "end": "2025-12-19 14:35:13.030110", "msg": "", "rc": 0, "start": "2025-12-19 14:35:13.009070", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005224", "end": "2025-12-19 14:35:12.297137", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.291913", "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.025411", "end": "2025-12-19 14:35:12.260433", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.235022", "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.004443", "end": "2025-12-19 14:35:12.772040", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.767597", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004180", "end": "2025-12-19 14:35:12.800844", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.796664", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004511", "end": "2025-12-19 14:35:12.814002", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.809491", "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.004777", "end": "2025-12-19 14:35:12.834254", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.829477", "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.005873", "end": "2025-12-19 14:35:12.838991", "msg": "", "rc": 0, "start": "2025-12-19 14:35:12.833118", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003758", "end": "2025-12-19 14:34:44.690103", "msg": "", "rc": 0, "start": "2025-12-19 14:34:44.686345", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004477", "end": "2025-12-19 14:34:37.557288", "msg": "", "rc": 0, "start": "2025-12-19 14:34:37.552811", "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.010990", "end": "2025-12-19 14:35:13.470647", "msg": "", "rc": 0, "start": "2025-12-19 14:35:13.459657", "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.012078", "end": "2025-12-19 14:35:13.496304", "msg": "", "rc": 0, "start": "2025-12-19 14:35:13.484226", "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.005874", "end": "2025-12-19 14:35:13.721085", "msg": "", "rc": 0, "start": "2025-12-19 14:35:13.715211", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004011", "end": "2025-12-19 14:34:40.721463", "msg": "", "rc": 0, "start": "2025-12-19 14:34:40.717452", "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.005171", "end": "2025-12-19 11:35:13.934535", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:35:13.929364", "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.003746", "end": "2025-12-19 14:34:47.988738", "msg": "", "rc": 0, "start": "2025-12-19 14:34:47.984992", "stderr": "", "stderr_lines": [], "stdout": "57.1%", "stdout_lines": ["57.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.005296", "end": "2025-12-19 14:35:14.134952", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.129656", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.010698", "end": "2025-12-19 14:35:15.092437", "msg": "", "rc": 0, "start": "2025-12-19 14:35:15.081739", "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.025710", "end": "2025-12-19 14:35:14.158702", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.132992", "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.005365", "end": "2025-12-19 14:35:14.686972", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.681607", "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.004807", "end": "2025-12-19 14:35:14.710110", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.705303", "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.006194", "end": "2025-12-19 14:35:14.713248", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.707054", "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.003146", "end": "2025-12-19 14:35:14.734226", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.731080", "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.006791", "end": "2025-12-19 14:35:14.731732", "msg": "", "rc": 0, "start": "2025-12-19 14:35:14.724941", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003491", "end": "2025-12-19 14:34:46.626128", "msg": "", "rc": 0, "start": "2025-12-19 14:34:46.622637", "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.003251", "end": "2025-12-19 14:34:39.461427", "msg": "", "rc": 0, "start": "2025-12-19 14:34:39.458176", "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.011884", "end": "2025-12-19 14:35:15.366714", "msg": "", "rc": 0, "start": "2025-12-19 14:35:15.354830", "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.013149", "end": "2025-12-19 14:35:15.395753", "msg": "", "rc": 0, "start": "2025-12-19 14:35:15.382604", "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.003316", "end": "2025-12-19 14:35:15.671591", "msg": "", "rc": 0, "start": "2025-12-19 14:35:15.668275", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002961", "end": "2025-12-19 14:34:42.631164", "msg": "", "rc": 0, "start": "2025-12-19 14:34:42.628203", "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.003921", "end": "2025-12-19 11:35:15.839266", "msg": "", "rc": 0, "start": "2025-12-19 11:35:15.835345", "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.002771", "end": "2025-12-19 14:34:49.910609", "msg": "", "rc": 0, "start": "2025-12-19 14:34:49.907838", "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.004377", "end": "2025-12-19 14:35:17.157069", "msg": "", "rc": 0, "start": "2025-12-19 14:35:17.152692", "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.002884", "end": "2025-12-19 14:35:16.089490", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.086606", "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.028683", "end": "2025-12-19 14:35:16.075336", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.046653", "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.004128", "end": "2025-12-19 14:35:16.594543", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.590415", "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.004111", "end": "2025-12-19 14:35:16.625578", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.621467", "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.004458", "end": "2025-12-19 14:35:16.640273", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.635815", "stderr": "", "stderr_lines": [], "stdout": "1.00", "stdout_lines": ["1.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.005519", "end": "2025-12-19 14:35:16.651628", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.646109", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
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.005646", "end": "2025-12-19 14:35:16.653537", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.647891", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004616", "end": "2025-12-19 14:34:48.551256", "msg": "", "rc": 0, "start": "2025-12-19 14:34:48.546640", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005249", "end": "2025-12-19 14:34:41.414398", "msg": "", "rc": 0, "start": "2025-12-19 14:34:41.409149", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010024", "end": "2025-12-19 14:35:17.368103", "msg": "", "rc": 0, "start": "2025-12-19 14:35:17.358079", "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.011074", "end": "2025-12-19 14:35:17.403845", "msg": "", "rc": 0, "start": "2025-12-19 14:35:17.392771", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
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.005595", "end": "2025-12-19 14:35:17.582163", "msg": "", "rc": 0, "start": "2025-12-19 14:35:17.576568", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.005161", "end": "2025-12-19 14:34:44.583761", "msg": "", "rc": 0, "start": "2025-12-19 14:34:44.578600", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006091", "end": "2025-12-19 11:35:17.857437", "msg": "", "rc": 0, "start": "2025-12-19 11:35:17.851346", "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.004404", "end": "2025-12-19 14:34:51.910824", "msg": "", "rc": 0, "start": "2025-12-19 14:34:51.906420", "stderr": "", "stderr_lines": [], "stdout": "1.29", "stdout_lines": ["1.29"]}
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.005332", "end": "2025-12-19 14:35:17.997824", "msg": "", "rc": 0, "start": "2025-12-19 14:35:17.992492", "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-19 14:35:19.340332", "msg": "", "rc": 0, "start": "2025-12-19 14:35:19.332787", "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.024462", "end": "2025-12-19 14:35:17.976434", "msg": "", "rc": 0, "start": "2025-12-19 14:35:17.951972", "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: 14:35:09 up 5:19, 1 user, load average: 0.23, 0.22, 0.28\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.34\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:08 up 24 days, 1:26, 1 user, load average: 0.12, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:08 up 24 days, 1:46, 1 user, load average: 0.82, 0.71, 0.72\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.00\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:09 up 24 days, 2:59, 1 user, load average: 0.56, 0.67, 0.64\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.51\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:08 up 24 days, 3:45, 1 user, load average: 0.01, 0.05, 0.02\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: 14:35:10 up 17 days, 4:01, 1 user, load average: 0.26, 0.16, 0.08\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.32\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:09 up 196 days, 6:08, 1 user, load average: 0.17, 0.20, 0.16\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.15\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:09 up 196 days, 6:08, 1 user, load average: 0.29, 0.18, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.27\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:40 up 13 days, 2:24, 0 user, load average: 0.33, 0.22, 0.13\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:33 up 19 days, 22:36, 0 user, load average: 0.02, 0.02, 0.00\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:09 up 5:18, 1 user, load average: 0.06, 0.06, 0.04\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:36 up 22 days, 17:28, 0 user, load average: 0.64, 0.47, 0.45\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.59\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:44 up 19 days, 3:50, 0 user, load average: 1.34, 0.39, 0.22\nDisk Usage: 76%\nMemory Usage: 57.1%\nCPU Load: 1.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35AM up 24 days, 1:24, 1 user, load averages: 0.38, 0.21, 0.17\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:10 up 5:18, 1 user, load average: 0.02, 0.19, 0.15\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:10 up 29 min, 1 user, load average: 1.16, 1.06, 0.76\nDisk Usage: 1%\nMemory Usage: 12.4%\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-19T19:35:20.282560+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9e0ff140e40b48dc86cd1bf90ab92881` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:40:00.001633+00:00 |
| **Fin** | 2025-12-19T19:40:20.577779+00:00 |
| **Durée** | 20.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: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.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: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.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: [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.003250", "end": "2025-12-19 14:40:08.343516", "msg": "", "rc": 0, "start": "2025-12-19 14:40:08.340266", "stderr": "", "stderr_lines": [], "stdout": " 14:40:08 up 24 days, 1:31, 1 user, load average: 0.01, 0.07, 0.08", "stdout_lines": [" 14:40:08 up 24 days, 1:31, 1 user, load average: 0.01, 0.07, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003739", "end": "2025-12-19 14:40:08.351961", "msg": "", "rc": 0, "start": "2025-12-19 14:40:08.348222", "stderr": "", "stderr_lines": [], "stdout": " 14:40:08 up 24 days, 3:50, 1 user, load average: 0.09, 0.07, 0.03", "stdout_lines": [" 14:40:08 up 24 days, 3:50, 1 user, load average: 0.09, 0.07, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003172", "end": "2025-12-19 14:40:08.356119", "msg": "", "rc": 0, "start": "2025-12-19 14:40:08.352947", "stderr": "", "stderr_lines": [], "stdout": " 14:40:08 up 24 days, 1:51, 1 user, load average: 0.33, 0.65, 0.71", "stdout_lines": [" 14:40:08 up 24 days, 1:51, 1 user, load average: 0.33, 0.65, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002846", "end": "2025-12-19 14:40:08.387084", "msg": "", "rc": 0, "start": "2025-12-19 14:40:08.384238", "stderr": "", "stderr_lines": [], "stdout": " 14:40:08 up 5:24, 1 user, load average: 0.13, 0.19, 0.25", "stdout_lines": [" 14:40:08 up 5:24, 1 user, load average: 0.13, 0.19, 0.25"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003891", "end": "2025-12-19 14:40:08.377319", "msg": "", "rc": 0, "start": "2025-12-19 14:40:08.373428", "stderr": "", "stderr_lines": [], "stdout": " 14:40:08 up 24 days, 3:04, 1 user, load average: 0.48, 0.58, 0.61", "stdout_lines": [" 14:40:08 up 24 days, 3:04, 1 user, load average: 0.48, 0.58, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003699", "end": "2025-12-19 14:39:40.260992", "msg": "", "rc": 0, "start": "2025-12-19 14:39:40.257293", "stderr": "", "stderr_lines": [], "stdout": " 14:39:40 up 13 days, 2:29, 0 user, load average: 0.21, 0.21, 0.15", "stdout_lines": [" 14:39:40 up 13 days, 2:29, 0 user, load average: 0.21, 0.21, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003633", "end": "2025-12-19 14:39:33.116470", "msg": "", "rc": 0, "start": "2025-12-19 14:39:33.112837", "stderr": "", "stderr_lines": [], "stdout": " 14:39:33 up 19 days, 22:41, 0 user, load average: 0.09, 0.06, 0.02", "stdout_lines": [" 14:39:33 up 19 days, 22:41, 0 user, load average: 0.09, 0.06, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008560", "end": "2025-12-19 14:40:09.019254", "msg": "", "rc": 0, "start": "2025-12-19 14:40:09.010694", "stderr": "", "stderr_lines": [], "stdout": " 14:40:09 up 196 days, 6:13, 1 user, load average: 0.16, 0.12, 0.09", "stdout_lines": [" 14:40:09 up 196 days, 6:13, 1 user, load average: 0.16, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009043", "end": "2025-12-19 14:40:09.055556", "msg": "", "rc": 0, "start": "2025-12-19 14:40:09.046513", "stderr": "", "stderr_lines": [], "stdout": " 14:40:09 up 196 days, 6:12, 1 user, load average: 0.17, 0.19, 0.17", "stdout_lines": [" 14:40:09 up 196 days, 6:12, 1 user, load average: 0.17, 0.19, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004520", "end": "2025-12-19 14:40:09.280198", "msg": "", "rc": 0, "start": "2025-12-19 14:40:09.275678", "stderr": "", "stderr_lines": [], "stdout": " 14:40:09 up 5:23, 1 user, load average: 0.05, 0.05, 0.02", "stdout_lines": [" 14:40:09 up 5:23, 1 user, load average: 0.05, 0.05, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004055", "end": "2025-12-19 14:39:36.301132", "msg": "", "rc": 0, "start": "2025-12-19 14:39:36.297077", "stderr": "", "stderr_lines": [], "stdout": " 14:39:36 up 22 days, 17:33, 0 user, load average: 0.27, 0.38, 0.43", "stdout_lines": [" 14:39:36 up 22 days, 17:33, 0 user, load average: 0.27, 0.38, 0.43"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002743", "end": "2025-12-19 14:39:43.543796", "msg": "", "rc": 0, "start": "2025-12-19 14:39:43.541053", "stderr": "", "stderr_lines": [], "stdout": " 14:39:43 up 19 days, 3:55, 0 user, load average: 0.24, 0.39, 0.27", "stdout_lines": [" 14:39:43 up 19 days, 3:55, 0 user, load average: 0.24, 0.39, 0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004192", "end": "2025-12-19 11:40:09.508548", "msg": "", "rc": 0, "start": "2025-12-19 11:40:09.504356", "stderr": "", "stderr_lines": [], "stdout": "11:40AM up 24 days, 1:29, 1 user, load averages: 0.29, 0.29, 0.22", "stdout_lines": ["11:40AM up 24 days, 1:29, 1 user, load averages: 0.29, 0.29, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003593", "end": "2025-12-19 14:40:09.687348", "msg": "", "rc": 0, "start": "2025-12-19 14:40:09.683755", "stderr": "", "stderr_lines": [], "stdout": " 14:40:09 up 5:23, 1 user, load average: 0.26, 0.14, 0.12", "stdout_lines": [" 14:40:09 up 5:23, 1 user, load average: 0.26, 0.14, 0.12"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007974", "end": "2025-12-19 14:40:10.975085", "msg": "", "rc": 0, "start": "2025-12-19 14:40:10.967111", "stderr": "", "stderr_lines": [], "stdout": " 14:40:10 up 34 min, 1 user, load average: 1.23, 1.13, 0.90", "stdout_lines": [" 14:40:10 up 34 min, 1 user, load average: 1.23, 1.13, 0.90"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019560", "end": "2025-12-19 14:40:09.747689", "msg": "", "rc": 0, "start": "2025-12-19 14:40:09.728129", "stderr": "", "stderr_lines": [], "stdout": " 14:40:09 up 17 days, 4:06, 1 user, load average: 0.53, 0.21, 0.12", "stdout_lines": [" 14:40:09 up 17 days, 4:06, 1 user, load average: 0.53, 0.21, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004659", "end": "2025-12-19 14:40:10.276263", "msg": "", "rc": 0, "start": "2025-12-19 14:40:10.271604", "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.004218", "end": "2025-12-19 14:40:10.285176", "msg": "", "rc": 0, "start": "2025-12-19 14:40:10.280958", "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.004890", "end": "2025-12-19 14:40:10.328032", "msg": "", "rc": 0, "start": "2025-12-19 14:40:10.323142", "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.005352", "end": "2025-12-19 14:40:10.336138", "msg": "", "rc": 0, "start": "2025-12-19 14:40:10.330786", "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.006213", "end": "2025-12-19 14:40:10.349286", "msg": "", "rc": 0, "start": "2025-12-19 14:40:10.343073", "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.005724", "end": "2025-12-19 14:39:42.203362", "msg": "", "rc": 0, "start": "2025-12-19 14:39:42.197638", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005598", "end": "2025-12-19 14:39:35.057352", "msg": "", "rc": 0, "start": "2025-12-19 14:39:35.051754", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011488", "end": "2025-12-19 14:40:11.012117", "msg": "", "rc": 0, "start": "2025-12-19 14:40:11.000629", "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.010736", "end": "2025-12-19 14:40:11.023980", "msg": "", "rc": 0, "start": "2025-12-19 14:40:11.013244", "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.005774", "end": "2025-12-19 14:40:11.235860", "msg": "", "rc": 0, "start": "2025-12-19 14:40:11.230086", "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.005279", "end": "2025-12-19 14:39:38.215651", "msg": "", "rc": 0, "start": "2025-12-19 14:39:38.210372", "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.005368", "end": "2025-12-19 11:40:11.483466", "msg": "", "rc": 0, "start": "2025-12-19 11:40:11.478098", "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.004629", "end": "2025-12-19 14:39:45.556527", "msg": "", "rc": 0, "start": "2025-12-19 14:39:45.551898", "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.005292", "end": "2025-12-19 14:40:11.650111", "msg": "", "rc": 0, "start": "2025-12-19 14:40:11.644819", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020317", "end": "2025-12-19 14:40:13.110514", "msg": "", "rc": 0, "start": "2025-12-19 14:40:13.090197", "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.025285", "end": "2025-12-19 14:40:11.652080", "msg": "", "rc": 0, "start": "2025-12-19 14:40:11.626795", "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.004211", "end": "2025-12-19 14:40:12.170296", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.166085", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004791", "end": "2025-12-19 14:40:12.182451", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.177660", "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.004233", "end": "2025-12-19 14:40:12.194272", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.190039", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004973", "end": "2025-12-19 14:40:12.215107", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.210134", "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.005740", "end": "2025-12-19 14:40:12.235159", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.229419", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003723", "end": "2025-12-19 14:39:44.113127", "msg": "", "rc": 0, "start": "2025-12-19 14:39:44.109404", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004176", "end": "2025-12-19 14:39:36.971874", "msg": "", "rc": 0, "start": "2025-12-19 14:39:36.967698", "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.011016", "end": "2025-12-19 14:40:12.878272", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.867256", "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.011935", "end": "2025-12-19 14:40:12.904454", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.892519", "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.005843", "end": "2025-12-19 14:40:13.158687", "msg": "", "rc": 0, "start": "2025-12-19 14:40:13.152844", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004233", "end": "2025-12-19 14:39:40.254461", "msg": "", "rc": 0, "start": "2025-12-19 14:39:40.250228", "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.005162", "end": "2025-12-19 11:40:13.574121", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:40:13.568959", "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.003846", "end": "2025-12-19 14:39:47.624399", "msg": "", "rc": 0, "start": "2025-12-19 14:39:47.620553", "stderr": "", "stderr_lines": [], "stdout": "56.3%", "stdout_lines": ["56.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.005325", "end": "2025-12-19 14:40:13.664895", "msg": "", "rc": 0, "start": "2025-12-19 14:40:13.659570", "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.025534", "end": "2025-12-19 14:40:13.565833", "msg": "", "rc": 0, "start": "2025-12-19 14:40:13.540299", "stderr": "", "stderr_lines": [], "stdout": "20.1%", "stdout_lines": ["20.1%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009492", "end": "2025-12-19 14:40:15.426728", "msg": "", "rc": 0, "start": "2025-12-19 14:40:15.417236", "stderr": "", "stderr_lines": [], "stdout": "12.4%", "stdout_lines": ["12.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.005254", "end": "2025-12-19 14:40:14.246428", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.241174", "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.004995", "end": "2025-12-19 14:40:14.259793", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.254798", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.003161", "end": "2025-12-19 14:40:14.281573", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.278412", "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.005867", "end": "2025-12-19 14:40:14.280694", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.274827", "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.006754", "end": "2025-12-19 14:40:14.301013", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.294259", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002629", "end": "2025-12-19 14:39:46.221178", "msg": "", "rc": 0, "start": "2025-12-19 14:39:46.218549", "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.003141", "end": "2025-12-19 14:39:39.093811", "msg": "", "rc": 0, "start": "2025-12-19 14:39:39.090670", "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.012052", "end": "2025-12-19 14:40:14.982443", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.970391", "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.012784", "end": "2025-12-19 14:40:14.988990", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.976206", "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.003118", "end": "2025-12-19 14:40:15.267134", "msg": "", "rc": 0, "start": "2025-12-19 14:40:15.264016", "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.002764", "end": "2025-12-19 14:39:42.261634", "msg": "", "rc": 0, "start": "2025-12-19 14:39:42.258870", "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.003986", "end": "2025-12-19 11:40:15.460543", "msg": "", "rc": 0, "start": "2025-12-19 11:40:15.456557", "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.002756", "end": "2025-12-19 14:39:49.529091", "msg": "", "rc": 0, "start": "2025-12-19 14:39:49.526335", "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.002850", "end": "2025-12-19 14:40:15.704976", "msg": "", "rc": 0, "start": "2025-12-19 14:40:15.702126", "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.028712", "end": "2025-12-19 14:40:15.654092", "msg": "", "rc": 0, "start": "2025-12-19 14:40:15.625380", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°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.004957", "end": "2025-12-19 14:40:17.594399", "msg": "", "rc": 0, "start": "2025-12-19 14:40:17.589442", "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.004138", "end": "2025-12-19 14:40:16.175618", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.171480", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.004545", "end": "2025-12-19 14:40:16.191086", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.186541", "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.004055", "end": "2025-12-19 14:40:16.192752", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.188697", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005132", "end": "2025-12-19 14:40:16.219435", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.214303", "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.005351", "end": "2025-12-19 14:40:16.227202", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.221851", "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.004605", "end": "2025-12-19 14:39:48.113613", "msg": "", "rc": 0, "start": "2025-12-19 14:39:48.109008", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005209", "end": "2025-12-19 14:39:40.967477", "msg": "", "rc": 0, "start": "2025-12-19 14:39:40.962268", "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.009927", "end": "2025-12-19 14:40:16.971359", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.961432", "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.011150", "end": "2025-12-19 14:40:17.002654", "msg": "", "rc": 0, "start": "2025-12-19 14:40:16.991504", "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.005756", "end": "2025-12-19 14:40:17.160321", "msg": "", "rc": 0, "start": "2025-12-19 14:40:17.154565", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.004931", "end": "2025-12-19 14:39:44.142474", "msg": "", "rc": 0, "start": "2025-12-19 14:39:44.137543", "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.005895", "end": "2025-12-19 11:40:17.463821", "msg": "", "rc": 0, "start": "2025-12-19 11:40:17.457926", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004547", "end": "2025-12-19 14:39:51.508332", "msg": "", "rc": 0, "start": "2025-12-19 14:39:51.503785", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005180", "end": "2025-12-19 14:40:17.575227", "msg": "", "rc": 0, "start": "2025-12-19 14:40:17.570047", "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.008905", "end": "2025-12-19 14:40:19.624954", "msg": "", "rc": 0, "start": "2025-12-19 14:40:19.616049", "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.024750", "end": "2025-12-19 14:40:17.555350", "msg": "", "rc": 0, "start": "2025-12-19 14:40:17.530600", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:08 up 24 days, 1:31, 1 user, load average: 0.01, 0.07, 0.08\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.09\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:08 up 24 days, 1:51, 1 user, load average: 0.33, 0.65, 0.71\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.51\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:08 up 5:24, 1 user, load average: 0.13, 0.19, 0.25\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.11\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:08 up 24 days, 3:04, 1 user, load average: 0.48, 0.58, 0.61\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.64\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:08 up 24 days, 3:50, 1 user, load average: 0.09, 0.07, 0.03\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: 14:40:09 up 17 days, 4:06, 1 user, load average: 0.53, 0.21, 0.12\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.49\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:09 up 196 days, 6:12, 1 user, load average: 0.17, 0.19, 0.17\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.16\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:09 up 196 days, 6:13, 1 user, load average: 0.16, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.21\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:40 up 13 days, 2:29, 0 user, load average: 0.21, 0.21, 0.15\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:33 up 19 days, 22:41, 0 user, load average: 0.09, 0.06, 0.02\nDisk Usage: 25%\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: 14:40:09 up 5:23, 1 user, load average: 0.05, 0.05, 0.02\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:36 up 22 days, 17:33, 0 user, load average: 0.27, 0.38, 0.43\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:43 up 19 days, 3:55, 0 user, load average: 0.24, 0.39, 0.27\nDisk Usage: 76%\nMemory Usage: 56.3%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40AM up 24 days, 1:29, 1 user, load averages: 0.29, 0.29, 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: 14:40:09 up 5:23, 1 user, load average: 0.26, 0.14, 0.12\nDisk Usage: 79%\nMemory Usage: 12.9%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:10 up 34 min, 1 user, load average: 1.23, 1.13, 0.90\nDisk Usage: 1%\nMemory Usage: 12.4%\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-19T19:40:20.620088+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `651711b9ffbc40c8b04b60fc42174c41` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:45:00.003205+00:00 |
| **Fin** | 2025-12-19T19:45:20.822055+00:00 |
| **Durée** | 20.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.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.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: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003717", "end": "2025-12-19 14:45:10.492724", "msg": "", "rc": 0, "start": "2025-12-19 14:45:10.489007", "stderr": "", "stderr_lines": [], "stdout": " 14:45:10 up 24 days, 3:55, 1 user, load average: 0.05, 0.06, 0.02", "stdout_lines": [" 14:45:10 up 24 days, 3:55, 1 user, load average: 0.05, 0.06, 0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004186", "end": "2025-12-19 14:45:10.506861", "msg": "", "rc": 0, "start": "2025-12-19 14:45:10.502675", "stderr": "", "stderr_lines": [], "stdout": " 14:45:10 up 24 days, 3:09, 1 user, load average: 0.89, 0.73, 0.66", "stdout_lines": [" 14:45:10 up 24 days, 3:09, 1 user, load average: 0.89, 0.73, 0.66"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002891", "end": "2025-12-19 14:45:10.522920", "msg": "", "rc": 0, "start": "2025-12-19 14:45:10.520029", "stderr": "", "stderr_lines": [], "stdout": " 14:45:10 up 5:29, 1 user, load average: 0.12, 0.14, 0.21", "stdout_lines": [" 14:45:10 up 5:29, 1 user, load average: 0.12, 0.14, 0.21"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008384", "end": "2025-12-19 14:45:11.175584", "msg": "", "rc": 0, "start": "2025-12-19 14:45:11.167200", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 196 days, 6:18, 1 user, load average: 0.26, 0.15, 0.10", "stdout_lines": [" 14:45:11 up 196 days, 6:18, 1 user, load average: 0.26, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009253", "end": "2025-12-19 14:45:11.213941", "msg": "", "rc": 0, "start": "2025-12-19 14:45:11.204688", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 196 days, 6:18, 1 user, load average: 0.20, 0.18, 0.17", "stdout_lines": [" 14:45:11 up 196 days, 6:18, 1 user, load average: 0.20, 0.18, 0.17"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004355", "end": "2025-12-19 14:45:11.484053", "msg": "", "rc": 0, "start": "2025-12-19 14:45:10.479698", "stderr": "", "stderr_lines": [], "stdout": " 14:45:10 up 24 days, 1:36, 1 user, load average: 0.19, 0.14, 0.10", "stdout_lines": [" 14:45:10 up 24 days, 1:36, 1 user, load average: 0.19, 0.14, 0.10"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003676", "end": "2025-12-19 14:45:11.502718", "msg": "", "rc": 0, "start": "2025-12-19 14:45:10.499042", "stderr": "", "stderr_lines": [], "stdout": " 14:45:10 up 24 days, 1:56, 1 user, load average: 0.79, 0.66, 0.70", "stdout_lines": [" 14:45:10 up 24 days, 1:56, 1 user, load average: 0.79, 0.66, 0.70"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002917", "end": "2025-12-19 14:44:43.109202", "msg": "", "rc": 0, "start": "2025-12-19 14:44:43.106285", "stderr": "", "stderr_lines": [], "stdout": " 14:44:43 up 13 days, 2:34, 0 user, load average: 0.02, 0.11, 0.12", "stdout_lines": [" 14:44:43 up 13 days, 2:34, 0 user, load average: 0.02, 0.11, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003539", "end": "2025-12-19 14:44:35.990155", "msg": "", "rc": 0, "start": "2025-12-19 14:44:35.986616", "stderr": "", "stderr_lines": [], "stdout": " 14:44:35 up 19 days, 22:46, 0 user, load average: 0.40, 0.11, 0.03", "stdout_lines": [" 14:44:35 up 19 days, 22:46, 0 user, load average: 0.40, 0.11, 0.03"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004683", "end": "2025-12-19 14:45:11.937715", "msg": "", "rc": 0, "start": "2025-12-19 14:45:11.933032", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 5:28, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 14:45:11 up 5:28, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019592", "end": "2025-12-19 14:45:11.886996", "msg": "", "rc": 0, "start": "2025-12-19 14:45:11.867404", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 17 days, 4:11, 1 user, load average: 0.16, 0.12, 0.09", "stdout_lines": [" 14:45:11 up 17 days, 4:11, 1 user, load average: 0.16, 0.12, 0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003626", "end": "2025-12-19 14:44:38.861369", "msg": "", "rc": 0, "start": "2025-12-19 14:44:38.857743", "stderr": "", "stderr_lines": [], "stdout": " 14:44:38 up 22 days, 17:38, 0 user, load average: 0.51, 0.43, 0.44", "stdout_lines": [" 14:44:38 up 22 days, 17:38, 0 user, load average: 0.51, 0.43, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003151", "end": "2025-12-19 14:44:46.193424", "msg": "", "rc": 0, "start": "2025-12-19 14:44:46.190273", "stderr": "", "stderr_lines": [], "stdout": " 14:44:46 up 19 days, 4:00, 0 user, load average: 0.14, 0.26, 0.25", "stdout_lines": [" 14:44:46 up 19 days, 4:00, 0 user, load average: 0.14, 0.26, 0.25"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004222", "end": "2025-12-19 11:45:12.210941", "msg": "", "rc": 0, "start": "2025-12-19 11:45:12.206719", "stderr": "", "stderr_lines": [], "stdout": "11:45AM up 24 days, 1:34, 1 user, load averages: 0.25, 0.27, 0.23", "stdout_lines": ["11:45AM up 24 days, 1:34, 1 user, load averages: 0.25, 0.27, 0.23"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007449", "end": "2025-12-19 14:45:14.437219", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.429770", "stderr": "", "stderr_lines": [], "stdout": " 14:45:14 up 40 min, 1 user, load average: 1.42, 1.18, 0.99", "stdout_lines": [" 14:45:14 up 40 min, 1 user, load average: 1.42, 1.18, 0.99"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003677", "end": "2025-12-19 14:45:12.362970", "msg": "", "rc": 0, "start": "2025-12-19 14:45:12.359293", "stderr": "", "stderr_lines": [], "stdout": " 14:45:12 up 5:28, 1 user, load average: 0.00, 0.06, 0.08", "stdout_lines": [" 14:45:12 up 5:28, 1 user, load average: 0.00, 0.06, 0.08"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004327", "end": "2025-12-19 14:45:12.764278", "msg": "", "rc": 0, "start": "2025-12-19 14:45:12.759951", "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.005215", "end": "2025-12-19 14:45:12.790433", "msg": "", "rc": 0, "start": "2025-12-19 14:45:12.785218", "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.004313", "end": "2025-12-19 14:45:12.787899", "msg": "", "rc": 0, "start": "2025-12-19 14:45:12.783586", "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.004696", "end": "2025-12-19 14:45:12.817295", "msg": "", "rc": 0, "start": "2025-12-19 14:45:12.812599", "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.006433", "end": "2025-12-19 14:45:12.829785", "msg": "", "rc": 0, "start": "2025-12-19 14:45:12.823352", "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.005076", "end": "2025-12-19 14:44:44.699071", "msg": "", "rc": 0, "start": "2025-12-19 14:44:44.693995", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005682", "end": "2025-12-19 14:44:37.555689", "msg": "", "rc": 0, "start": "2025-12-19 14:44:37.550007", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010506", "end": "2025-12-19 14:45:13.522774", "msg": "", "rc": 0, "start": "2025-12-19 14:45:13.512268", "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.011966", "end": "2025-12-19 14:45:13.604782", "msg": "", "rc": 0, "start": "2025-12-19 14:45:13.592816", "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.005665", "end": "2025-12-19 14:45:13.740246", "msg": "", "rc": 0, "start": "2025-12-19 14:45:13.734581", "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.005773", "end": "2025-12-19 14:44:40.723746", "msg": "", "rc": 0, "start": "2025-12-19 14:44:40.717973", "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.004623", "end": "2025-12-19 14:44:48.036716", "msg": "", "rc": 0, "start": "2025-12-19 14:44:48.032093", "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.005417", "end": "2025-12-19 11:45:14.066756", "msg": "", "rc": 0, "start": "2025-12-19 11:45:14.061339", "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.005311", "end": "2025-12-19 14:45:14.178111", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.172800", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021914", "end": "2025-12-19 14:45:16.564933", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.543019", "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.025339", "end": "2025-12-19 14:45:14.145642", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.120303", "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.004208", "end": "2025-12-19 14:45:14.670277", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.666069", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004439", "end": "2025-12-19 14:45:14.683987", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.679548", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004854", "end": "2025-12-19 14:45:14.690604", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.685750", "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.004543", "end": "2025-12-19 14:45:14.726529", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.721986", "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.005620", "end": "2025-12-19 14:45:14.731873", "msg": "", "rc": 0, "start": "2025-12-19 14:45:14.726253", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003848", "end": "2025-12-19 14:44:46.599694", "msg": "", "rc": 0, "start": "2025-12-19 14:44:46.595846", "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.004492", "end": "2025-12-19 14:44:39.460609", "msg": "", "rc": 0, "start": "2025-12-19 14:44:39.456117", "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.011001", "end": "2025-12-19 14:45:15.357360", "msg": "", "rc": 0, "start": "2025-12-19 14:45:15.346359", "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-19 14:45:15.398613", "msg": "", "rc": 0, "start": "2025-12-19 14:45:15.386701", "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.005716", "end": "2025-12-19 14:45:15.651368", "msg": "", "rc": 0, "start": "2025-12-19 14:45:15.645652", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004168", "end": "2025-12-19 14:44:42.632961", "msg": "", "rc": 0, "start": "2025-12-19 14:44:42.628793", "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.004621", "end": "2025-12-19 14:44:49.877236", "msg": "", "rc": 0, "start": "2025-12-19 14:44:49.872615", "stderr": "", "stderr_lines": [], "stdout": "57.2%", "stdout_lines": ["57.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.005369", "end": "2025-12-19 11:45:15.853214", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:45:15.847845", "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.005362", "end": "2025-12-19 14:45:16.072787", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.067425", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.011126", "end": "2025-12-19 14:45:18.621008", "msg": "", "rc": 0, "start": "2025-12-19 14:45:18.609882", "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.025799", "end": "2025-12-19 14:45:16.058725", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.032926", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005414", "end": "2025-12-19 14:45:16.581176", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.575762", "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-19 14:45:16.605479", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.600404", "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.005726", "end": "2025-12-19 14:45:16.613340", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.607614", "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.003293", "end": "2025-12-19 14:45:16.629653", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.626360", "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.006706", "end": "2025-12-19 14:45:16.638225", "msg": "", "rc": 0, "start": "2025-12-19 14:45:16.631519", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002501", "end": "2025-12-19 14:44:48.527159", "msg": "", "rc": 0, "start": "2025-12-19 14:44:48.524658", "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.002846", "end": "2025-12-19 14:44:41.354628", "msg": "", "rc": 0, "start": "2025-12-19 14:44:41.351782", "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.011810", "end": "2025-12-19 14:45:17.271085", "msg": "", "rc": 0, "start": "2025-12-19 14:45:17.259275", "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.012942", "end": "2025-12-19 14:45:17.323438", "msg": "", "rc": 0, "start": "2025-12-19 14:45:17.310496", "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-19 14:45:17.564353", "msg": "", "rc": 0, "start": "2025-12-19 14:45:17.561182", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003007", "end": "2025-12-19 14:44:44.515644", "msg": "", "rc": 0, "start": "2025-12-19 14:44:44.512637", "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.002444", "end": "2025-12-19 14:44:51.805965", "msg": "", "rc": 0, "start": "2025-12-19 14:44:51.803521", "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.004063", "end": "2025-12-19 11:45:17.779986", "msg": "", "rc": 0, "start": "2025-12-19 11:45:17.775923", "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.004651", "end": "2025-12-19 14:45:20.699635", "msg": "", "rc": 0, "start": "2025-12-19 14:45:20.694984", "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.003075", "end": "2025-12-19 14:45:17.985322", "msg": "", "rc": 0, "start": "2025-12-19 14:45:17.982247", "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.028836", "end": "2025-12-19 14:45:17.959703", "msg": "", "rc": 0, "start": "2025-12-19 14:45:17.930867", "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.004216", "end": "2025-12-19 14:45:18.480948", "msg": "", "rc": 0, "start": "2025-12-19 14:45:18.476732", "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.004235", "end": "2025-12-19 14:45:18.491304", "msg": "", "rc": 0, "start": "2025-12-19 14:45:18.487069", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.004512", "end": "2025-12-19 14:45:18.528308", "msg": "", "rc": 0, "start": "2025-12-19 14:45:18.523796", "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.004699", "end": "2025-12-19 14:45:18.540145", "msg": "", "rc": 0, "start": "2025-12-19 14:45:18.535446", "stderr": "", "stderr_lines": [], "stdout": "0.88", "stdout_lines": ["0.88"]}
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.005201", "end": "2025-12-19 14:45:18.543484", "msg": "", "rc": 0, "start": "2025-12-19 14:45:18.538283", "stderr": "", "stderr_lines": [], "stdout": "0.82", "stdout_lines": ["0.82"]}
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.005073", "end": "2025-12-19 14:44:50.435500", "msg": "", "rc": 0, "start": "2025-12-19 14:44:50.430427", "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.005222", "end": "2025-12-19 14:44:43.268234", "msg": "", "rc": 0, "start": "2025-12-19 14:44:43.263012", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.009932", "end": "2025-12-19 14:45:19.255679", "msg": "", "rc": 0, "start": "2025-12-19 14:45:19.245747", "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.011495", "end": "2025-12-19 14:45:19.291625", "msg": "", "rc": 0, "start": "2025-12-19 14:45:19.280130", "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.005484", "end": "2025-12-19 14:45:19.464998", "msg": "", "rc": 0, "start": "2025-12-19 14:45:19.459514", "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.005797", "end": "2025-12-19 14:44:46.456920", "msg": "", "rc": 0, "start": "2025-12-19 14:44:46.451123", "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.005916", "end": "2025-12-19 11:45:19.757125", "msg": "", "rc": 0, "start": "2025-12-19 11:45:19.751209", "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.004155", "end": "2025-12-19 14:44:53.793601", "msg": "", "rc": 0, "start": "2025-12-19 14:44:53.789446", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.005257", "end": "2025-12-19 14:45:19.884445", "msg": "", "rc": 0, "start": "2025-12-19 14:45:19.879188", "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.008851", "end": "2025-12-19 14:45:22.837157", "msg": "", "rc": 0, "start": "2025-12-19 14:45:22.828306", "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.024365", "end": "2025-12-19 14:45:19.876159", "msg": "", "rc": 0, "start": "2025-12-19 14:45:19.851794", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:10 up 24 days, 1:36, 1 user, load average: 0.19, 0.14, 0.10\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:10 up 5:29, 1 user, load average: 0.12, 0.14, 0.21\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.18\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:10 up 24 days, 1:56, 1 user, load average: 0.79, 0.66, 0.70\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.88\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:10 up 24 days, 3:09, 1 user, load average: 0.89, 0.73, 0.66\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.82\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:10 up 24 days, 3:55, 1 user, load average: 0.05, 0.06, 0.02\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 17 days, 4:11, 1 user, load average: 0.16, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.22\nCPU Temp: 35.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 196 days, 6:18, 1 user, load average: 0.20, 0.18, 0.17\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.25\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 196 days, 6:18, 1 user, load average: 0.26, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.24\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:43 up 13 days, 2:34, 0 user, load average: 0.02, 0.11, 0.12\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:35 up 19 days, 22:46, 0 user, load average: 0.40, 0.11, 0.03\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 5:28, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:46 up 19 days, 4:00, 0 user, load average: 0.14, 0.26, 0.25\nDisk Usage: 76%\nMemory Usage: 57.2%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:38 up 22 days, 17:38, 0 user, load average: 0.51, 0.43, 0.44\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45AM up 24 days, 1:34, 1 user, load averages: 0.25, 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: 14:45:12 up 5:28, 1 user, load average: 0.00, 0.06, 0.08\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:14 up 40 min, 1 user, load average: 1.42, 1.18, 0.99\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-19T19:45:20.867674+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `5a177885341a474baedcdc3f2bbde6c6` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:50:00.002221+00:00 |
| **Fin** | 2025-12-19T19:50:20.640500+00:00 |
| **Durée** | 20.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: [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: [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.003428", "end": "2025-12-19 14:50:10.641944", "msg": "", "rc": 0, "start": "2025-12-19 14:50:10.638516", "stderr": "", "stderr_lines": [], "stdout": " 14:50:10 up 24 days, 1:41, 1 user, load average: 0.00, 0.06, 0.08", "stdout_lines": [" 14:50:10 up 24 days, 1:41, 1 user, load average: 0.00, 0.06, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003181", "end": "2025-12-19 14:50:10.651597", "msg": "", "rc": 0, "start": "2025-12-19 14:50:10.648416", "stderr": "", "stderr_lines": [], "stdout": " 14:50:10 up 24 days, 2:01, 1 user, load average: 0.93, 0.77, 0.73", "stdout_lines": [" 14:50:10 up 24 days, 2:01, 1 user, load average: 0.93, 0.77, 0.73"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003721", "end": "2025-12-19 14:50:10.657420", "msg": "", "rc": 0, "start": "2025-12-19 14:50:10.653699", "stderr": "", "stderr_lines": [], "stdout": " 14:50:10 up 24 days, 4:00, 1 user, load average: 0.11, 0.08, 0.03", "stdout_lines": [" 14:50:10 up 24 days, 4:00, 1 user, load average: 0.11, 0.08, 0.03"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002931", "end": "2025-12-19 14:50:10.683240", "msg": "", "rc": 0, "start": "2025-12-19 14:50:10.680309", "stderr": "", "stderr_lines": [], "stdout": " 14:50:10 up 5:34, 1 user, load average: 0.28, 0.18, 0.19", "stdout_lines": [" 14:50:10 up 5:34, 1 user, load average: 0.28, 0.18, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004172", "end": "2025-12-19 14:50:10.691917", "msg": "", "rc": 0, "start": "2025-12-19 14:50:10.687745", "stderr": "", "stderr_lines": [], "stdout": " 14:50:10 up 24 days, 3:14, 1 user, load average: 0.78, 0.79, 0.71", "stdout_lines": [" 14:50:10 up 24 days, 3:14, 1 user, load average: 0.78, 0.79, 0.71"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002875", "end": "2025-12-19 14:49:42.554903", "msg": "", "rc": 0, "start": "2025-12-19 14:49:42.552028", "stderr": "", "stderr_lines": [], "stdout": " 14:49:42 up 13 days, 2:39, 0 user, load average: 0.11, 0.16, 0.13", "stdout_lines": [" 14:49:42 up 13 days, 2:39, 0 user, load average: 0.11, 0.16, 0.13"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003559", "end": "2025-12-19 14:49:35.418742", "msg": "", "rc": 0, "start": "2025-12-19 14:49:35.415183", "stderr": "", "stderr_lines": [], "stdout": " 14:49:35 up 19 days, 22:51, 0 user, load average: 0.27, 0.14, 0.05", "stdout_lines": [" 14:49:35 up 19 days, 22:51, 0 user, load average: 0.27, 0.14, 0.05"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008351", "end": "2025-12-19 14:50:11.337641", "msg": "", "rc": 0, "start": "2025-12-19 14:50:11.329290", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 196 days, 6:23, 1 user, load average: 0.09, 0.16, 0.11", "stdout_lines": [" 14:50:11 up 196 days, 6:23, 1 user, load average: 0.09, 0.16, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009356", "end": "2025-12-19 14:50:11.370804", "msg": "", "rc": 0, "start": "2025-12-19 14:50:11.361448", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 196 days, 6:23, 1 user, load average: 0.23, 0.18, 0.17", "stdout_lines": [" 14:50:11 up 196 days, 6:23, 1 user, load average: 0.23, 0.18, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004596", "end": "2025-12-19 14:50:11.599910", "msg": "", "rc": 0, "start": "2025-12-19 14:50:11.595314", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 5:33, 1 user, load average: 0.28, 0.07, 0.02", "stdout_lines": [" 14:50:11 up 5:33, 1 user, load average: 0.28, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003422", "end": "2025-12-19 14:49:38.598724", "msg": "", "rc": 0, "start": "2025-12-19 14:49:38.595302", "stderr": "", "stderr_lines": [], "stdout": " 14:49:38 up 22 days, 17:43, 0 user, load average: 0.59, 0.46, 0.45", "stdout_lines": [" 14:49:38 up 22 days, 17:43, 0 user, load average: 0.59, 0.46, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004199", "end": "2025-12-19 11:50:11.858180", "msg": "", "rc": 0, "start": "2025-12-19 11:50:11.853981", "stderr": "", "stderr_lines": [], "stdout": "11:50AM up 24 days, 1:39, 1 user, load averages: 0.29, 0.29, 0.25", "stdout_lines": ["11:50AM up 24 days, 1:39, 1 user, load averages: 0.29, 0.29, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003140", "end": "2025-12-19 14:49:45.903382", "msg": "", "rc": 0, "start": "2025-12-19 14:49:45.900242", "stderr": "", "stderr_lines": [], "stdout": " 14:49:45 up 19 days, 4:05, 0 user, load average: 0.80, 0.47, 0.33", "stdout_lines": [" 14:49:45 up 19 days, 4:05, 0 user, load average: 0.80, 0.47, 0.33"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003644", "end": "2025-12-19 14:50:12.013393", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.009749", "stderr": "", "stderr_lines": [], "stdout": " 14:50:12 up 5:33, 1 user, load average: 0.00, 0.02, 0.06", "stdout_lines": [" 14:50:12 up 5:33, 1 user, load average: 0.00, 0.02, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007684", "end": "2025-12-19 14:50:14.233101", "msg": "", "rc": 0, "start": "2025-12-19 14:50:14.225417", "stderr": "", "stderr_lines": [], "stdout": " 14:50:14 up 45 min, 1 user, load average: 1.16, 1.11, 1.01", "stdout_lines": [" 14:50:14 up 45 min, 1 user, load average: 1.16, 1.11, 1.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019065", "end": "2025-12-19 14:50:12.037018", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.017953", "stderr": "", "stderr_lines": [], "stdout": " 14:50:12 up 17 days, 4:16, 1 user, load average: 0.28, 0.16, 0.10", "stdout_lines": [" 14:50:12 up 17 days, 4:16, 1 user, load average: 0.28, 0.16, 0.10"]}
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-19 14:50:12.567151", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.562990", "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.004884", "end": "2025-12-19 14:50:12.590922", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.586038", "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.004105", "end": "2025-12-19 14:50:12.597630", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.593525", "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.004773", "end": "2025-12-19 14:50:12.608896", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.604123", "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.005741", "end": "2025-12-19 14:50:12.625077", "msg": "", "rc": 0, "start": "2025-12-19 14:50:12.619336", "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.004782", "end": "2025-12-19 14:49:44.481000", "msg": "", "rc": 0, "start": "2025-12-19 14:49:44.476218", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006188", "end": "2025-12-19 14:49:37.353510", "msg": "", "rc": 0, "start": "2025-12-19 14:49:37.347322", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010597", "end": "2025-12-19 14:50:13.323458", "msg": "", "rc": 0, "start": "2025-12-19 14:50:13.312861", "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.011504", "end": "2025-12-19 14:50:13.345552", "msg": "", "rc": 0, "start": "2025-12-19 14:50:13.334048", "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.005904", "end": "2025-12-19 14:50:13.538686", "msg": "", "rc": 0, "start": "2025-12-19 14:50:13.532782", "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.005256", "end": "2025-12-19 14:49:40.540231", "msg": "", "rc": 0, "start": "2025-12-19 14:49:40.534975", "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.005629", "end": "2025-12-19 11:50:13.807518", "msg": "", "rc": 0, "start": "2025-12-19 11:50:13.801889", "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.004991", "end": "2025-12-19 14:49:47.861526", "msg": "", "rc": 0, "start": "2025-12-19 14:49:47.856535", "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.005618", "end": "2025-12-19 14:50:13.954737", "msg": "", "rc": 0, "start": "2025-12-19 14:50:13.949119", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021729", "end": "2025-12-19 14:50:16.365987", "msg": "", "rc": 0, "start": "2025-12-19 14:50:16.344258", "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.025557", "end": "2025-12-19 14:50:13.955407", "msg": "", "rc": 0, "start": "2025-12-19 14:50:13.929850", "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.004250", "end": "2025-12-19 14:50:14.470054", "msg": "", "rc": 0, "start": "2025-12-19 14:50:14.465804", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004114", "end": "2025-12-19 14:50:14.488219", "msg": "", "rc": 0, "start": "2025-12-19 14:50:14.484105", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004830", "end": "2025-12-19 14:50:14.503627", "msg": "", "rc": 0, "start": "2025-12-19 14:50:14.498797", "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.004871", "end": "2025-12-19 14:50:14.524956", "msg": "", "rc": 0, "start": "2025-12-19 14:50:14.520085", "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.006854", "end": "2025-12-19 14:50:14.539751", "msg": "", "rc": 0, "start": "2025-12-19 14:50:14.532897", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004385", "end": "2025-12-19 14:49:46.402889", "msg": "", "rc": 0, "start": "2025-12-19 14:49:46.398504", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004227", "end": "2025-12-19 14:49:39.255256", "msg": "", "rc": 0, "start": "2025-12-19 14:49:39.251029", "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.011268", "end": "2025-12-19 14:50:15.164245", "msg": "", "rc": 0, "start": "2025-12-19 14:50:15.152977", "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.012017", "end": "2025-12-19 14:50:15.195131", "msg": "", "rc": 0, "start": "2025-12-19 14:50:15.183114", "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.005933", "end": "2025-12-19 14:50:15.450740", "msg": "", "rc": 0, "start": "2025-12-19 14:50:15.444807", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004235", "end": "2025-12-19 14:49:42.423767", "msg": "", "rc": 0, "start": "2025-12-19 14:49:42.419532", "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.005120", "end": "2025-12-19 11:50:15.656328", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:50:15.651208", "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.003965", "end": "2025-12-19 14:49:49.694248", "msg": "", "rc": 0, "start": "2025-12-19 14:49:49.690283", "stderr": "", "stderr_lines": [], "stdout": "57.9%", "stdout_lines": ["57.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006374", "end": "2025-12-19 14:50:15.890710", "msg": "", "rc": 0, "start": "2025-12-19 14:50:15.884336", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.010627", "end": "2025-12-19 14:50:18.439602", "msg": "", "rc": 0, "start": "2025-12-19 14:50:18.428975", "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.025873", "end": "2025-12-19 14:50:15.852633", "msg": "", "rc": 0, "start": "2025-12-19 14:50:15.826760", "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.005412", "end": "2025-12-19 14:50:16.370163", "msg": "", "rc": 0, "start": "2025-12-19 14:50:16.364751", "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.004819", "end": "2025-12-19 14:50:16.394009", "msg": "", "rc": 0, "start": "2025-12-19 14:50:16.389190", "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.005647", "end": "2025-12-19 14:50:16.420980", "msg": "", "rc": 0, "start": "2025-12-19 14:50:16.415333", "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.006325", "end": "2025-12-19 14:50:16.420159", "msg": "", "rc": 0, "start": "2025-12-19 14:50:16.413834", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003462", "end": "2025-12-19 14:50:16.429155", "msg": "", "rc": 0, "start": "2025-12-19 14:50:16.425693", "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.002464", "end": "2025-12-19 14:49:48.299459", "msg": "", "rc": 0, "start": "2025-12-19 14:49:48.296995", "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.002949", "end": "2025-12-19 14:49:41.158620", "msg": "", "rc": 0, "start": "2025-12-19 14:49:41.155671", "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.011854", "end": "2025-12-19 14:50:17.070876", "msg": "", "rc": 0, "start": "2025-12-19 14:50:17.059022", "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.013002", "end": "2025-12-19 14:50:17.097960", "msg": "", "rc": 0, "start": "2025-12-19 14:50:17.084958", "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.003113", "end": "2025-12-19 14:50:17.360572", "msg": "", "rc": 0, "start": "2025-12-19 14:50:17.357459", "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.003253", "end": "2025-12-19 14:49:44.350022", "msg": "", "rc": 0, "start": "2025-12-19 14:49:44.346769", "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.004725", "end": "2025-12-19 11:50:17.551175", "msg": "", "rc": 0, "start": "2025-12-19 11:50:17.546450", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003007", "end": "2025-12-19 14:49:51.592194", "msg": "", "rc": 0, "start": "2025-12-19 14:49:51.589187", "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.003267", "end": "2025-12-19 14:50:17.798275", "msg": "", "rc": 0, "start": "2025-12-19 14:50:17.795008", "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.004508", "end": "2025-12-19 14:50:20.569177", "msg": "", "rc": 0, "start": "2025-12-19 14:50:20.564669", "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.028922", "end": "2025-12-19 14:50:17.761050", "msg": "", "rc": 0, "start": "2025-12-19 14:50:17.732128", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004158", "end": "2025-12-19 14:50:18.286721", "msg": "", "rc": 0, "start": "2025-12-19 14:50:18.282563", "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.004174", "end": "2025-12-19 14:50:18.305226", "msg": "", "rc": 0, "start": "2025-12-19 14:50:18.301052", "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.005791", "end": "2025-12-19 14:50:18.310565", "msg": "", "rc": 0, "start": "2025-12-19 14:50:18.304774", "stderr": "", "stderr_lines": [], "stdout": "1.02", "stdout_lines": ["1.02"]}
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.004628", "end": "2025-12-19 14:50:18.334613", "msg": "", "rc": 0, "start": "2025-12-19 14:50:18.329985", "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.005545", "end": "2025-12-19 14:50:18.351092", "msg": "", "rc": 0, "start": "2025-12-19 14:50:18.345547", "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.004243", "end": "2025-12-19 14:49:50.209607", "msg": "", "rc": 0, "start": "2025-12-19 14:49:50.205364", "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.005888", "end": "2025-12-19 14:49:43.081499", "msg": "", "rc": 0, "start": "2025-12-19 14:49:43.075611", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011152", "end": "2025-12-19 14:50:19.025862", "msg": "", "rc": 0, "start": "2025-12-19 14:50:19.014710", "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.010085", "end": "2025-12-19 14:50:19.045911", "msg": "", "rc": 0, "start": "2025-12-19 14:50:19.035826", "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.005607", "end": "2025-12-19 14:50:19.250257", "msg": "", "rc": 0, "start": "2025-12-19 14:50:19.244650", "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.005036", "end": "2025-12-19 14:49:46.260807", "msg": "", "rc": 0, "start": "2025-12-19 14:49:46.255771", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006036", "end": "2025-12-19 11:50:19.497660", "msg": "", "rc": 0, "start": "2025-12-19 11:50:19.491624", "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.004474", "end": "2025-12-19 14:49:53.585930", "msg": "", "rc": 0, "start": "2025-12-19 14:49:53.581456", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
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.005332", "end": "2025-12-19 14:50:19.677577", "msg": "", "rc": 0, "start": "2025-12-19 14:50:19.672245", "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.008897", "end": "2025-12-19 14:50:22.677023", "msg": "", "rc": 0, "start": "2025-12-19 14:50:22.668126", "stderr": "", "stderr_lines": [], "stdout": "1.36", "stdout_lines": ["1.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024352", "end": "2025-12-19 14:50:19.686645", "msg": "", "rc": 0, "start": "2025-12-19 14:50:19.662293", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:10 up 5:34, 1 user, load average: 0.28, 0.18, 0.19\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.23\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:10 up 24 days, 1:41, 1 user, load average: 0.00, 0.06, 0.08\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:10 up 24 days, 2:01, 1 user, load average: 0.93, 0.77, 0.73\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.02\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:10 up 24 days, 3:14, 1 user, load average: 0.78, 0.79, 0.71\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.72\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:10 up 24 days, 4:00, 1 user, load average: 0.11, 0.08, 0.03\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: 14:50:12 up 17 days, 4:16, 1 user, load average: 0.28, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 20.4%\nCPU Load: 0.34\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 196 days, 6:23, 1 user, load average: 0.23, 0.18, 0.17\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.21\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 196 days, 6:23, 1 user, load average: 0.09, 0.16, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.16\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:42 up 13 days, 2:39, 0 user, load average: 0.11, 0.16, 0.13\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:35 up 19 days, 22:51, 0 user, load average: 0.27, 0.14, 0.05\nDisk Usage: 25%\nMemory Usage: 64.7%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 5:33, 1 user, load average: 0.28, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:38 up 22 days, 17:43, 0 user, load average: 0.59, 0.46, 0.45\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:45 up 19 days, 4:05, 0 user, load average: 0.80, 0.47, 0.33\nDisk Usage: 76%\nMemory Usage: 57.9%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50AM up 24 days, 1:39, 1 user, load averages: 0.29, 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: 14:50:12 up 5:33, 1 user, load average: 0.00, 0.02, 0.06\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:14 up 45 min, 1 user, load average: 1.16, 1.11, 1.01\nDisk Usage: 1%\nMemory Usage: 12.4%\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-19T19:50:20.690805+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e4207704ca2c45fd99e141e83875b00f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T19:55:00.002191+00:00 |
| **Fin** | 2025-12-19T19:55:20.678772+00:00 |
| **Durée** | 20.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.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: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003861", "end": "2025-12-19 14:55:10.097636", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.093775", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 24 days, 4:05, 1 user, load average: 0.06, 0.08, 0.03", "stdout_lines": [" 14:55:10 up 24 days, 4:05, 1 user, load average: 0.06, 0.08, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003256", "end": "2025-12-19 14:55:10.093107", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.089851", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 24 days, 2:06, 1 user, load average: 0.49, 0.73, 0.74", "stdout_lines": [" 14:55:10 up 24 days, 2:06, 1 user, load average: 0.49, 0.73, 0.74"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002943", "end": "2025-12-19 14:55:10.129528", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.126585", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 5:39, 1 user, load average: 0.43, 0.19, 0.19", "stdout_lines": [" 14:55:10 up 5:39, 1 user, load average: 0.43, 0.19, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004157", "end": "2025-12-19 14:55:10.130977", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.126820", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 24 days, 3:19, 1 user, load average: 1.11, 0.82, 0.74", "stdout_lines": [" 14:55:10 up 24 days, 3:19, 1 user, load average: 1.11, 0.82, 0.74"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002856", "end": "2025-12-19 14:54:42.014285", "msg": "", "rc": 0, "start": "2025-12-19 14:54:42.011429", "stderr": "", "stderr_lines": [], "stdout": " 14:54:42 up 13 days, 2:44, 0 user, load average: 0.13, 0.10, 0.10", "stdout_lines": [" 14:54:42 up 13 days, 2:44, 0 user, load average: 0.13, 0.10, 0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008322", "end": "2025-12-19 14:55:10.772846", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.764524", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 196 days, 6:28, 1 user, load average: 0.08, 0.14, 0.11", "stdout_lines": [" 14:55:10 up 196 days, 6:28, 1 user, load average: 0.08, 0.14, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009393", "end": "2025-12-19 14:55:10.823554", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.814161", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 196 days, 6:28, 1 user, load average: 0.30, 0.22, 0.19", "stdout_lines": [" 14:55:10 up 196 days, 6:28, 1 user, load average: 0.30, 0.22, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004225", "end": "2025-12-19 14:55:11.084082", "msg": "", "rc": 0, "start": "2025-12-19 14:55:10.079857", "stderr": "", "stderr_lines": [], "stdout": " 14:55:10 up 24 days, 1:46, 1 user, load average: 0.23, 0.12, 0.10", "stdout_lines": [" 14:55:10 up 24 days, 1:46, 1 user, load average: 0.23, 0.12, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005494", "end": "2025-12-19 14:54:35.326938", "msg": "", "rc": 0, "start": "2025-12-19 14:54:35.321444", "stderr": "", "stderr_lines": [], "stdout": " 14:54:35 up 19 days, 22:56, 0 user, load average: 0.02, 0.07, 0.04", "stdout_lines": [" 14:54:35 up 19 days, 22:56, 0 user, load average: 0.02, 0.07, 0.04"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004533", "end": "2025-12-19 14:55:11.275301", "msg": "", "rc": 0, "start": "2025-12-19 14:55:11.270768", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 5:38, 1 user, load average: 0.04, 0.07, 0.03", "stdout_lines": [" 14:55:11 up 5:38, 1 user, load average: 0.04, 0.07, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003479", "end": "2025-12-19 14:54:38.251774", "msg": "", "rc": 0, "start": "2025-12-19 14:54:38.248295", "stderr": "", "stderr_lines": [], "stdout": " 14:54:38 up 22 days, 17:48, 0 user, load average: 0.65, 0.49, 0.46", "stdout_lines": [" 14:54:38 up 22 days, 17:48, 0 user, load average: 0.65, 0.49, 0.46"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002857", "end": "2025-12-19 14:54:45.578392", "msg": "", "rc": 0, "start": "2025-12-19 14:54:45.575535", "stderr": "", "stderr_lines": [], "stdout": " 14:54:45 up 19 days, 4:10, 0 user, load average: 0.38, 0.44, 0.36", "stdout_lines": [" 14:54:45 up 19 days, 4:10, 0 user, load average: 0.38, 0.44, 0.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019587", "end": "2025-12-19 14:55:11.471020", "msg": "", "rc": 0, "start": "2025-12-19 14:55:11.451433", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 17 days, 4:21, 1 user, load average: 0.26, 0.18, 0.11", "stdout_lines": [" 14:55:11 up 17 days, 4:21, 1 user, load average: 0.26, 0.18, 0.11"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004184", "end": "2025-12-19 11:55:11.596274", "msg": "", "rc": 0, "start": "2025-12-19 11:55:11.592090", "stderr": "", "stderr_lines": [], "stdout": "11:55AM up 24 days, 1:44, 1 user, load averages: 0.20, 0.27, 0.25", "stdout_lines": ["11:55AM up 24 days, 1:44, 1 user, load averages: 0.20, 0.27, 0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003644", "end": "2025-12-19 14:55:11.698299", "msg": "", "rc": 0, "start": "2025-12-19 14:55:11.694655", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 5:38, 1 user, load average: 0.01, 0.03, 0.05", "stdout_lines": [" 14:55:11 up 5:38, 1 user, load average: 0.01, 0.03, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008739", "end": "2025-12-19 14:55:14.373918", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.365179", "stderr": "", "stderr_lines": [], "stdout": " 14:55:14 up 51 min, 1 user, load average: 1.93, 1.25, 1.07", "stdout_lines": [" 14:55:14 up 51 min, 1 user, load average: 1.93, 1.25, 1.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004205", "end": "2025-12-19 14:55:12.123268", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.119063", "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.004159", "end": "2025-12-19 14:55:12.142749", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.138590", "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.004998", "end": "2025-12-19 14:55:12.159013", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.154015", "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.004685", "end": "2025-12-19 14:55:12.176079", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.171394", "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.005685", "end": "2025-12-19 14:55:12.204764", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.199079", "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.004693", "end": "2025-12-19 14:54:44.042730", "msg": "", "rc": 0, "start": "2025-12-19 14:54:44.038037", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005694", "end": "2025-12-19 14:54:36.926563", "msg": "", "rc": 0, "start": "2025-12-19 14:54:36.920869", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010527", "end": "2025-12-19 14:55:12.870599", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.860072", "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.011379", "end": "2025-12-19 14:55:12.910439", "msg": "", "rc": 0, "start": "2025-12-19 14:55:12.899060", "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.006480", "end": "2025-12-19 14:55:13.093076", "msg": "", "rc": 0, "start": "2025-12-19 14:55:13.086596", "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.005495", "end": "2025-12-19 14:54:40.095959", "msg": "", "rc": 0, "start": "2025-12-19 14:54:40.090464", "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.005448", "end": "2025-12-19 11:55:13.361489", "msg": "", "rc": 0, "start": "2025-12-19 11:55:13.356041", "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.004860", "end": "2025-12-19 14:54:47.412342", "msg": "", "rc": 0, "start": "2025-12-19 14:54:47.407482", "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.005249", "end": "2025-12-19 14:55:13.525727", "msg": "", "rc": 0, "start": "2025-12-19 14:55:13.520478", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019282", "end": "2025-12-19 14:55:16.421798", "msg": "", "rc": 0, "start": "2025-12-19 14:55:16.402516", "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.025231", "end": "2025-12-19 14:55:13.503780", "msg": "", "rc": 0, "start": "2025-12-19 14:55:13.478549", "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.004178", "end": "2025-12-19 14:55:14.025813", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.021635", "stderr": "", "stderr_lines": [], "stdout": "76.3%", "stdout_lines": ["76.3%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004866", "end": "2025-12-19 14:55:14.036013", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.031147", "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.004300", "end": "2025-12-19 14:55:14.031743", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.027443", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.005020", "end": "2025-12-19 14:55:14.083426", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.078406", "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.005524", "end": "2025-12-19 14:55:14.079018", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.073494", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003968", "end": "2025-12-19 14:54:45.949668", "msg": "", "rc": 0, "start": "2025-12-19 14:54:45.945700", "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.004487", "end": "2025-12-19 14:54:38.812324", "msg": "", "rc": 0, "start": "2025-12-19 14:54:38.807837", "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.010754", "end": "2025-12-19 14:55:14.716376", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.705622", "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.011844", "end": "2025-12-19 14:55:14.756510", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.744666", "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.005859", "end": "2025-12-19 14:55:14.993207", "msg": "", "rc": 0, "start": "2025-12-19 14:55:14.987348", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004573", "end": "2025-12-19 14:54:41.992742", "msg": "", "rc": 0, "start": "2025-12-19 14:54:41.988169", "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.005249", "end": "2025-12-19 11:55:15.216034", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 11:55:15.210785", "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.003966", "end": "2025-12-19 14:54:49.259443", "msg": "", "rc": 0, "start": "2025-12-19 14:54:49.255477", "stderr": "", "stderr_lines": [], "stdout": "57.1%", "stdout_lines": ["57.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.005398", "end": "2025-12-19 14:55:15.408760", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.403362", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.009715", "end": "2025-12-19 14:55:15.565779", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.556064", "stderr": "", "stderr_lines": [], "stdout": "12.3%", "stdout_lines": ["12.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.025879", "end": "2025-12-19 14:55:15.417861", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.391982", "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.005351", "end": "2025-12-19 14:55:15.933155", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.927804", "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.004757", "end": "2025-12-19 14:55:15.960775", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.956018", "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.005778", "end": "2025-12-19 14:55:15.963448", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.957670", "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.003388", "end": "2025-12-19 14:55:15.992755", "msg": "", "rc": 0, "start": "2025-12-19 14:55:15.989367", "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.006700", "end": "2025-12-19 14:55:16.010055", "msg": "", "rc": 0, "start": "2025-12-19 14:55:16.003355", "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.002786", "end": "2025-12-19 14:54:47.839354", "msg": "", "rc": 0, "start": "2025-12-19 14:54:47.836568", "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.002838", "end": "2025-12-19 14:54:40.714256", "msg": "", "rc": 0, "start": "2025-12-19 14:54:40.711418", "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.011750", "end": "2025-12-19 14:55:16.634926", "msg": "", "rc": 0, "start": "2025-12-19 14:55:16.623176", "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.012915", "end": "2025-12-19 14:55:16.670438", "msg": "", "rc": 0, "start": "2025-12-19 14:55:16.657523", "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.003121", "end": "2025-12-19 14:55:16.888361", "msg": "", "rc": 0, "start": "2025-12-19 14:55:16.885240", "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.003186", "end": "2025-12-19 14:54:43.893284", "msg": "", "rc": 0, "start": "2025-12-19 14:54:43.890098", "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.003905", "end": "2025-12-19 11:55:17.130699", "msg": "", "rc": 0, "start": "2025-12-19 11:55:17.126794", "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.003088", "end": "2025-12-19 14:54:51.177778", "msg": "", "rc": 0, "start": "2025-12-19 14:54:51.174690", "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.002853", "end": "2025-12-19 14:55:17.311056", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.308203", "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.005022", "end": "2025-12-19 14:55:17.645763", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.640741", "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.028789", "end": "2025-12-19 14:55:17.320433", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.291644", "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.004260", "end": "2025-12-19 14:55:17.845465", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.841205", "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.004015", "end": "2025-12-19 14:55:17.857441", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.853426", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005360", "end": "2025-12-19 14:55:17.861814", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.856454", "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.005095", "end": "2025-12-19 14:55:17.894925", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.889830", "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.005605", "end": "2025-12-19 14:55:17.906171", "msg": "", "rc": 0, "start": "2025-12-19 14:55:17.900566", "stderr": "", "stderr_lines": [], "stdout": "1.18", "stdout_lines": ["1.18"]}
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.004344", "end": "2025-12-19 14:54:49.753874", "msg": "", "rc": 0, "start": "2025-12-19 14:54:49.749530", "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.005477", "end": "2025-12-19 14:54:42.629648", "msg": "", "rc": 0, "start": "2025-12-19 14:54:42.624171", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010053", "end": "2025-12-19 14:55:18.637982", "msg": "", "rc": 0, "start": "2025-12-19 14:55:18.627929", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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.011379", "end": "2025-12-19 14:55:18.677937", "msg": "", "rc": 0, "start": "2025-12-19 14:55:18.666558", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005507", "end": "2025-12-19 14:55:18.786244", "msg": "", "rc": 0, "start": "2025-12-19 14:55:18.780737", "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.004854", "end": "2025-12-19 14:54:45.798908", "msg": "", "rc": 0, "start": "2025-12-19 14:54:45.794054", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004268", "end": "2025-12-19 14:54:53.149306", "msg": "", "rc": 0, "start": "2025-12-19 14:54:53.145038", "stderr": "", "stderr_lines": [], "stdout": "0.69", "stdout_lines": ["0.69"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005985", "end": "2025-12-19 11:55:19.136139", "msg": "", "rc": 0, "start": "2025-12-19 11:55:19.130154", "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.005257", "end": "2025-12-19 14:55:19.200195", "msg": "", "rc": 0, "start": "2025-12-19 14:55:19.194938", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006962", "end": "2025-12-19 14:55:19.746305", "msg": "", "rc": 0, "start": "2025-12-19 14:55:19.739343", "stderr": "", "stderr_lines": [], "stdout": "1.95", "stdout_lines": ["1.95"]}
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.024145", "end": "2025-12-19 14:55:19.246413", "msg": "", "rc": 0, "start": "2025-12-19 14:55:19.222268", "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: 14:55:10 up 5:39, 1 user, load average: 0.43, 0.19, 0.19\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.44\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:10 up 24 days, 1:46, 1 user, load average: 0.23, 0.12, 0.10\nDisk Usage: 23%\nMemory Usage: 76.3%\nCPU Load: 0.19\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:10 up 24 days, 2:06, 1 user, load average: 0.49, 0.73, 0.74\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: 14:55:10 up 24 days, 3:19, 1 user, load average: 1.11, 0.82, 0.74\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 1.18\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:10 up 24 days, 4:05, 1 user, load average: 0.06, 0.08, 0.03\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 17 days, 4:21, 1 user, load average: 0.26, 0.18, 0.11\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.32\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:10 up 196 days, 6:28, 1 user, load average: 0.30, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.36\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:10 up 196 days, 6:28, 1 user, load average: 0.08, 0.14, 0.11\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.07\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:42 up 13 days, 2:44, 0 user, load average: 0.13, 0.10, 0.10\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:35 up 19 days, 22:56, 0 user, load average: 0.02, 0.07, 0.04\nDisk Usage: 25%\nMemory Usage: 64.9%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 5:38, 1 user, load average: 0.04, 0.07, 0.03\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:38 up 22 days, 17:48, 0 user, load average: 0.65, 0.49, 0.46\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:45 up 19 days, 4:10, 0 user, load average: 0.38, 0.44, 0.36\nDisk Usage: 76%\nMemory Usage: 57.1%\nCPU Load: 0.69\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55AM up 24 days, 1:44, 1 user, load averages: 0.20, 0.27, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 5:38, 1 user, load average: 0.01, 0.03, 0.05\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:14 up 51 min, 1 user, load average: 1.93, 1.25, 1.07\nDisk Usage: 1%\nMemory Usage: 12.3%\nCPU Load: 1.95\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-19T19:55:20.728725+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `661225ccd64d45afad7d54e5c621591c` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:00:00.005730+00:00 |
| **Fin** | 2025-12-19T20:00:23.500191+00:00 |
| **Durée** | 23.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [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: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003308", "end": "2025-12-19 15:00:10.966165", "msg": "", "rc": 0, "start": "2025-12-19 15:00:10.962857", "stderr": "", "stderr_lines": [], "stdout": " 15:00:10 up 24 days, 1:51, 1 user, load average: 0.17, 0.10, 0.09", "stdout_lines": [" 15:00:10 up 24 days, 1:51, 1 user, load average: 0.17, 0.10, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004111", "end": "2025-12-19 15:00:10.979528", "msg": "", "rc": 0, "start": "2025-12-19 15:00:10.975417", "stderr": "", "stderr_lines": [], "stdout": " 15:00:10 up 24 days, 4:10, 1 user, load average: 0.13, 0.08, 0.03", "stdout_lines": [" 15:00:10 up 24 days, 4:10, 1 user, load average: 0.13, 0.08, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003410", "end": "2025-12-19 15:00:10.982851", "msg": "", "rc": 0, "start": "2025-12-19 15:00:10.979441", "stderr": "", "stderr_lines": [], "stdout": " 15:00:10 up 24 days, 2:11, 1 user, load average: 1.28, 0.92, 0.80", "stdout_lines": [" 15:00:10 up 24 days, 2:11, 1 user, load average: 1.28, 0.92, 0.80"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002808", "end": "2025-12-19 15:00:10.999916", "msg": "", "rc": 0, "start": "2025-12-19 15:00:10.997108", "stderr": "", "stderr_lines": [], "stdout": " 15:00:10 up 5:44, 1 user, load average: 0.07, 0.18, 0.18", "stdout_lines": [" 15:00:10 up 5:44, 1 user, load average: 0.07, 0.18, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004469", "end": "2025-12-19 15:00:11.008598", "msg": "", "rc": 0, "start": "2025-12-19 15:00:11.004129", "stderr": "", "stderr_lines": [], "stdout": " 15:00:11 up 24 days, 3:24, 1 user, load average: 0.88, 0.80, 0.74", "stdout_lines": [" 15:00:11 up 24 days, 3:24, 1 user, load average: 0.88, 0.80, 0.74"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002954", "end": "2025-12-19 14:59:42.883716", "msg": "", "rc": 0, "start": "2025-12-19 14:59:42.880762", "stderr": "", "stderr_lines": [], "stdout": " 14:59:42 up 13 days, 2:49, 0 user, load average: 0.13, 0.32, 0.22", "stdout_lines": [" 14:59:42 up 13 days, 2:49, 0 user, load average: 0.13, 0.32, 0.22"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003663", "end": "2025-12-19 14:59:35.752628", "msg": "", "rc": 0, "start": "2025-12-19 14:59:35.748965", "stderr": "", "stderr_lines": [], "stdout": " 14:59:35 up 19 days, 23:01, 0 user, load average: 0.00, 0.03, 0.01", "stdout_lines": [" 14:59:35 up 19 days, 23:01, 0 user, load average: 0.00, 0.03, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008566", "end": "2025-12-19 15:00:11.648676", "msg": "", "rc": 0, "start": "2025-12-19 15:00:11.640110", "stderr": "", "stderr_lines": [], "stdout": " 15:00:11 up 196 days, 6:33, 1 user, load average: 0.12, 0.17, 0.12", "stdout_lines": [" 15:00:11 up 196 days, 6:33, 1 user, load average: 0.12, 0.17, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009182", "end": "2025-12-19 15:00:11.696693", "msg": "", "rc": 0, "start": "2025-12-19 15:00:11.687511", "stderr": "", "stderr_lines": [], "stdout": " 15:00:11 up 196 days, 6:33, 1 user, load average: 0.20, 0.19, 0.18", "stdout_lines": [" 15:00:11 up 196 days, 6:33, 1 user, load average: 0.20, 0.19, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004432", "end": "2025-12-19 15:00:11.947199", "msg": "", "rc": 0, "start": "2025-12-19 15:00:11.942767", "stderr": "", "stderr_lines": [], "stdout": " 15:00:11 up 5:43, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:00:11 up 5:43, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003070", "end": "2025-12-19 14:59:46.167525", "msg": "", "rc": 0, "start": "2025-12-19 14:59:46.164455", "stderr": "", "stderr_lines": [], "stdout": " 14:59:46 up 19 days, 4:15, 0 user, load average: 0.52, 0.71, 0.51", "stdout_lines": [" 14:59:46 up 19 days, 4:15, 0 user, load average: 0.52, 0.71, 0.51"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003528", "end": "2025-12-19 14:59:38.948658", "msg": "", "rc": 0, "start": "2025-12-19 14:59:38.945130", "stderr": "", "stderr_lines": [], "stdout": " 14:59:38 up 22 days, 17:53, 0 user, load average: 0.50, 0.45, 0.45", "stdout_lines": [" 14:59:38 up 22 days, 17:53, 0 user, load average: 0.50, 0.45, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004257", "end": "2025-12-19 12:00:12.154057", "msg": "", "rc": 0, "start": "2025-12-19 12:00:12.149800", "stderr": "", "stderr_lines": [], "stdout": "12:00PM up 24 days, 1:49, 1 user, load averages: 0.16, 0.23, 0.24", "stdout_lines": ["12:00PM up 24 days, 1:49, 1 user, load averages: 0.16, 0.23, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003615", "end": "2025-12-19 15:00:12.381143", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.377528", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 5:43, 1 user, load average: 0.15, 0.07, 0.05", "stdout_lines": [" 15:00:12 up 5:43, 1 user, load average: 0.15, 0.07, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008291", "end": "2025-12-19 15:00:14.052793", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.044502", "stderr": "", "stderr_lines": [], "stdout": " 15:00:14 up 56 min, 1 user, load average: 1.24, 1.20, 1.10", "stdout_lines": [" 15:00:14 up 56 min, 1 user, load average: 1.24, 1.20, 1.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019375", "end": "2025-12-19 15:00:12.355478", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.336103", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 17 days, 4:26, 1 user, load average: 0.29, 0.17, 0.11", "stdout_lines": [" 15:00:12 up 17 days, 4:26, 1 user, load average: 0.29, 0.17, 0.11"]}
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-19 15:00:12.882252", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.878013", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004063", "end": "2025-12-19 15:00:12.890417", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.886354", "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.005201", "end": "2025-12-19 15:00:12.903445", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.898244", "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.004701", "end": "2025-12-19 15:00:12.929812", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.925111", "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.007611", "end": "2025-12-19 15:00:12.957112", "msg": "", "rc": 0, "start": "2025-12-19 15:00:12.949501", "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.004885", "end": "2025-12-19 14:59:44.807693", "msg": "", "rc": 0, "start": "2025-12-19 14:59:44.802808", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005811", "end": "2025-12-19 14:59:37.683212", "msg": "", "rc": 0, "start": "2025-12-19 14:59:37.677401", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010729", "end": "2025-12-19 15:00:13.571449", "msg": "", "rc": 0, "start": "2025-12-19 15:00:13.560720", "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.018348", "end": "2025-12-19 15:00:13.652489", "msg": "", "rc": 0, "start": "2025-12-19 15:00:13.634141", "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.005839", "end": "2025-12-19 15:00:13.872590", "msg": "", "rc": 0, "start": "2025-12-19 15:00:13.866751", "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-19 14:59:40.885051", "msg": "", "rc": 0, "start": "2025-12-19 14:59:40.879629", "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.004827", "end": "2025-12-19 14:59:48.134447", "msg": "", "rc": 0, "start": "2025-12-19 14:59:48.129620", "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.005379", "end": "2025-12-19 12:00:14.119036", "msg": "", "rc": 0, "start": "2025-12-19 12:00:14.113657", "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.005334", "end": "2025-12-19 15:00:14.296615", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.291281", "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.025195", "end": "2025-12-19 15:00:14.269408", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.244213", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020785", "end": "2025-12-19 15:00:16.186194", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.165409", "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.004207", "end": "2025-12-19 15:00:14.803399", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.799192", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004733", "end": "2025-12-19 15:00:14.838830", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.834097", "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.004182", "end": "2025-12-19 15:00:14.839931", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.835749", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.005622", "end": "2025-12-19 15:00:14.867401", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.861779", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004652", "end": "2025-12-19 15:00:14.870610", "msg": "", "rc": 0, "start": "2025-12-19 15:00:14.865958", "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.004252", "end": "2025-12-19 14:59:46.764231", "msg": "", "rc": 0, "start": "2025-12-19 14:59:46.759979", "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.004400", "end": "2025-12-19 14:59:39.601891", "msg": "", "rc": 0, "start": "2025-12-19 14:59:39.597491", "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.011201", "end": "2025-12-19 15:00:15.517801", "msg": "", "rc": 0, "start": "2025-12-19 15:00:15.506600", "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.011936", "end": "2025-12-19 15:00:15.561128", "msg": "", "rc": 0, "start": "2025-12-19 15:00:15.549192", "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.006025", "end": "2025-12-19 15:00:15.824072", "msg": "", "rc": 0, "start": "2025-12-19 15:00:15.818047", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004098", "end": "2025-12-19 14:59:42.780846", "msg": "", "rc": 0, "start": "2025-12-19 14:59:42.776748", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003462", "end": "2025-12-19 14:59:50.036809", "msg": "", "rc": 0, "start": "2025-12-19 14:59:50.033347", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.005356", "end": "2025-12-19 12:00:16.034506", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:00:16.029150", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005436", "end": "2025-12-19 15:00:16.253620", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.248184", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.008760", "end": "2025-12-19 15:00:18.265097", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.256337", "stderr": "", "stderr_lines": [], "stdout": "12.3%", "stdout_lines": ["12.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.025223", "end": "2025-12-19 15:00:16.201461", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.176238", "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.005562", "end": "2025-12-19 15:00:16.742059", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.736497", "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-19 15:00:16.766203", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.761344", "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.006006", "end": "2025-12-19 15:00:16.774796", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.768790", "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.003342", "end": "2025-12-19 15:00:16.802546", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.799204", "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.006501", "end": "2025-12-19 15:00:16.811629", "msg": "", "rc": 0, "start": "2025-12-19 15:00:16.805128", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002660", "end": "2025-12-19 14:59:48.667262", "msg": "", "rc": 0, "start": "2025-12-19 14:59:48.664602", "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.003156", "end": "2025-12-19 14:59:41.526501", "msg": "", "rc": 0, "start": "2025-12-19 14:59:41.523345", "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.011631", "end": "2025-12-19 15:00:17.434231", "msg": "", "rc": 0, "start": "2025-12-19 15:00:17.422600", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012842", "end": "2025-12-19 15:00:17.476292", "msg": "", "rc": 0, "start": "2025-12-19 15:00:17.463450", "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.003120", "end": "2025-12-19 15:00:17.727913", "msg": "", "rc": 0, "start": "2025-12-19 15:00:17.724793", "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.002901", "end": "2025-12-19 14:59:44.697349", "msg": "", "rc": 0, "start": "2025-12-19 14:59:44.694448", "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.002549", "end": "2025-12-19 14:59:51.957585", "msg": "", "rc": 0, "start": "2025-12-19 14:59:51.955036", "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.003992", "end": "2025-12-19 12:00:17.939572", "msg": "", "rc": 0, "start": "2025-12-19 12:00:17.935580", "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.003044", "end": "2025-12-19 15:00:18.161208", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.158164", "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.005012", "end": "2025-12-19 15:00:20.368075", "msg": "", "rc": 0, "start": "2025-12-19 15:00:20.363063", "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.029724", "end": "2025-12-19 15:00:18.146719", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.116995", "stderr": "", "stderr_lines": [], "stdout": "36.8°C", "stdout_lines": ["36.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.004157", "end": "2025-12-19 15:00:18.685730", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.681573", "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.004118", "end": "2025-12-19 15:00:18.697436", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.693318", "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.004673", "end": "2025-12-19 15:00:18.702774", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.698101", "stderr": "", "stderr_lines": [], "stdout": "1.26", "stdout_lines": ["1.26"]}
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.005127", "end": "2025-12-19 15:00:18.734668", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.729541", "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.005817", "end": "2025-12-19 15:00:18.745345", "msg": "", "rc": 0, "start": "2025-12-19 15:00:18.739528", "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.004388", "end": "2025-12-19 14:59:50.609297", "msg": "", "rc": 0, "start": "2025-12-19 14:59:50.604909", "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.005298", "end": "2025-12-19 14:59:43.463872", "msg": "", "rc": 0, "start": "2025-12-19 14:59:43.458574", "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.010036", "end": "2025-12-19 15:00:19.496680", "msg": "", "rc": 0, "start": "2025-12-19 15:00:19.486644", "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.011053", "end": "2025-12-19 15:00:19.513066", "msg": "", "rc": 0, "start": "2025-12-19 15:00:19.502013", "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.006256", "end": "2025-12-19 15:00:19.668453", "msg": "", "rc": 0, "start": "2025-12-19 15:00:19.662197", "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.004740", "end": "2025-12-19 14:59:46.662445", "msg": "", "rc": 0, "start": "2025-12-19 14:59:46.657705", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005819", "end": "2025-12-19 12:00:20.002559", "msg": "", "rc": 0, "start": "2025-12-19 12:00:19.996740", "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.004652", "end": "2025-12-19 14:59:54.058134", "msg": "", "rc": 0, "start": "2025-12-19 14:59:54.053482", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005144", "end": "2025-12-19 15:00:20.133721", "msg": "", "rc": 0, "start": "2025-12-19 15:00:20.128577", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.010465", "end": "2025-12-19 15:00:22.550667", "msg": "", "rc": 0, "start": "2025-12-19 15:00:22.540202", "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.024486", "end": "2025-12-19 15:00:20.082127", "msg": "", "rc": 0, "start": "2025-12-19 15:00:20.057641", "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: 15:00:10 up 24 days, 1:51, 1 user, load average: 0.17, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.22\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:10 up 5:44, 1 user, load average: 0.07, 0.18, 0.18\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.14\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:10 up 24 days, 2:11, 1 user, load average: 1.28, 0.92, 0.80\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.26\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:11 up 24 days, 3:24, 1 user, load average: 0.88, 0.80, 0.74\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.89\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:10 up 24 days, 4:10, 1 user, load average: 0.13, 0.08, 0.03\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 17 days, 4:26, 1 user, load average: 0.29, 0.17, 0.11\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.34\nCPU Temp: 36.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:11 up 196 days, 6:33, 1 user, load average: 0.20, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.18\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:11 up 196 days, 6:33, 1 user, load average: 0.12, 0.17, 0.12\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.19\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:42 up 13 days, 2:49, 0 user, load average: 0.13, 0.32, 0.22\nDisk Usage: 50%\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: 14:59:35 up 19 days, 23:01, 0 user, load average: 0.00, 0.03, 0.01\nDisk Usage: 25%\nMemory Usage: 64.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:11 up 5:43, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:38 up 22 days, 17:53, 0 user, load average: 0.50, 0.45, 0.45\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:46 up 19 days, 4:15, 0 user, load average: 0.52, 0.71, 0.51\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00PM up 24 days, 1:49, 1 user, load averages: 0.16, 0.23, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 5:43, 1 user, load average: 0.15, 0.07, 0.05\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:14 up 56 min, 1 user, load average: 1.24, 1.20, 1.10\nDisk Usage: 1%\nMemory Usage: 12.3%\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-19T20:00:23.555542+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `fd5770347ff74bfd925fbd76f21539a6` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:10:00.009271+00:00 |
| **Fin** | 2025-12-19T20:10:22.095011+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: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.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: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003214", "end": "2025-12-19 15:10:10.995109", "msg": "", "rc": 0, "start": "2025-12-19 15:10:10.991895", "stderr": "", "stderr_lines": [], "stdout": " 15:10:10 up 24 days, 2:21, 1 user, load average: 0.73, 0.83, 0.78", "stdout_lines": [" 15:10:10 up 24 days, 2:21, 1 user, load average: 0.73, 0.83, 0.78"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003826", "end": "2025-12-19 15:10:11.012895", "msg": "", "rc": 0, "start": "2025-12-19 15:10:11.009069", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 24 days, 4:20, 1 user, load average: 0.12, 0.11, 0.07", "stdout_lines": [" 15:10:11 up 24 days, 4:20, 1 user, load average: 0.12, 0.11, 0.07"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002934", "end": "2025-12-19 15:10:11.022290", "msg": "", "rc": 0, "start": "2025-12-19 15:10:11.019356", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 5:54, 2 users, load average: 0.08, 0.18, 0.18", "stdout_lines": [" 15:10:11 up 5:54, 2 users, load average: 0.08, 0.18, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004615", "end": "2025-12-19 15:10:11.039848", "msg": "", "rc": 0, "start": "2025-12-19 15:10:11.035233", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 24 days, 3:34, 1 user, load average: 0.89, 0.85, 0.80", "stdout_lines": [" 15:10:11 up 24 days, 3:34, 1 user, load average: 0.89, 0.85, 0.80"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002873", "end": "2025-12-19 15:09:42.906225", "msg": "", "rc": 0, "start": "2025-12-19 15:09:42.903352", "stderr": "", "stderr_lines": [], "stdout": " 15:09:42 up 13 days, 2:59, 0 user, load average: 0.16, 0.11, 0.14", "stdout_lines": [" 15:09:42 up 13 days, 2:59, 0 user, load average: 0.16, 0.11, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009279", "end": "2025-12-19 15:10:11.738728", "msg": "", "rc": 0, "start": "2025-12-19 15:10:11.729449", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 196 days, 6:43, 1 user, load average: 0.10, 0.26, 0.24", "stdout_lines": [" 15:10:11 up 196 days, 6:43, 1 user, load average: 0.10, 0.26, 0.24"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008391", "end": "2025-12-19 15:10:11.688567", "msg": "", "rc": 0, "start": "2025-12-19 15:10:11.680176", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 196 days, 6:43, 1 user, load average: 0.13, 0.15, 0.13", "stdout_lines": [" 15:10:11 up 196 days, 6:43, 1 user, load average: 0.13, 0.15, 0.13"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004357", "end": "2025-12-19 15:10:11.996697", "msg": "", "rc": 0, "start": "2025-12-19 15:10:10.992340", "stderr": "", "stderr_lines": [], "stdout": " 15:10:10 up 24 days, 2:01, 1 user, load average: 0.15, 0.14, 0.10", "stdout_lines": [" 15:10:10 up 24 days, 2:01, 1 user, load average: 0.15, 0.14, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003457", "end": "2025-12-19 15:09:36.190201", "msg": "", "rc": 0, "start": "2025-12-19 15:09:36.186744", "stderr": "", "stderr_lines": [], "stdout": " 15:09:36 up 19 days, 23:11, 0 user, load average: 0.15, 0.04, 0.01", "stdout_lines": [" 15:09:36 up 19 days, 23:11, 0 user, load average: 0.15, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003105", "end": "2025-12-19 15:09:39.169715", "msg": "", "rc": 0, "start": "2025-12-19 15:09:39.166610", "stderr": "", "stderr_lines": [], "stdout": " 15:09:39 up 22 days, 18:03, 0 user, load average: 0.53, 0.59, 0.55", "stdout_lines": [" 15:09:39 up 22 days, 18:03, 0 user, load average: 0.53, 0.59, 0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004289", "end": "2025-12-19 12:10:12.461175", "msg": "", "rc": 0, "start": "2025-12-19 12:10:12.456886", "stderr": "", "stderr_lines": [], "stdout": "12:10PM up 24 days, 1:59, 1 user, load averages: 0.33, 0.24, 0.22", "stdout_lines": ["12:10PM up 24 days, 1:59, 1 user, load averages: 0.33, 0.24, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005367", "end": "2025-12-19 15:09:46.492166", "msg": "", "rc": 0, "start": "2025-12-19 15:09:46.486799", "stderr": "", "stderr_lines": [], "stdout": " 15:09:46 up 19 days, 4:25, 0 user, load average: 0.83, 0.53, 0.47", "stdout_lines": [" 15:09:46 up 19 days, 4:25, 0 user, load average: 0.83, 0.53, 0.47"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019735", "end": "2025-12-19 15:10:12.370897", "msg": "", "rc": 0, "start": "2025-12-19 15:10:12.351162", "stderr": "", "stderr_lines": [], "stdout": " 15:10:12 up 17 days, 4:36, 1 user, load average: 0.19, 0.13, 0.10", "stdout_lines": [" 15:10:12 up 17 days, 4:36, 1 user, load average: 0.19, 0.13, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005820", "end": "2025-12-19 15:10:15.161034", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.155214", "stderr": "", "stderr_lines": [], "stdout": " 15:10:15 up 1:07, 1 user, load average: 1.18, 1.16, 1.11", "stdout_lines": [" 15:10:15 up 1:07, 1 user, load average: 1.18, 1.16, 1.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003742", "end": "2025-12-19 15:10:12.800449", "msg": "", "rc": 0, "start": "2025-12-19 15:10:12.796707", "stderr": "", "stderr_lines": [], "stdout": " 15:10:12 up 5:53, 1 user, load average: 0.07, 0.06, 0.04", "stdout_lines": [" 15:10:12 up 5:53, 1 user, load average: 0.07, 0.06, 0.04"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005773", "end": "2025-12-19 15:10:13.251888", "msg": "", "rc": 0, "start": "2025-12-19 15:10:12.246115", "stderr": "", "stderr_lines": [], "stdout": " 15:10:12 up 5:53, 1 user, load average: 0.03, 0.02, 0.00", "stdout_lines": [" 15:10:12 up 5:53, 1 user, load average: 0.03, 0.02, 0.00"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004358", "end": "2025-12-19 15:10:13.675414", "msg": "", "rc": 0, "start": "2025-12-19 15:10:13.671056", "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.004137", "end": "2025-12-19 15:10:13.698187", "msg": "", "rc": 0, "start": "2025-12-19 15:10:13.694050", "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.005050", "end": "2025-12-19 15:10:13.699181", "msg": "", "rc": 0, "start": "2025-12-19 15:10:13.694131", "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.004891", "end": "2025-12-19 15:10:13.722479", "msg": "", "rc": 0, "start": "2025-12-19 15:10:13.717588", "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.007662", "end": "2025-12-19 15:10:13.743392", "msg": "", "rc": 0, "start": "2025-12-19 15:10:13.735730", "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.004955", "end": "2025-12-19 15:09:45.587796", "msg": "", "rc": 0, "start": "2025-12-19 15:09:45.582841", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006538", "end": "2025-12-19 15:09:38.473242", "msg": "", "rc": 0, "start": "2025-12-19 15:09:38.466704", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010280", "end": "2025-12-19 15:10:14.477595", "msg": "", "rc": 0, "start": "2025-12-19 15:10:14.467315", "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.011725", "end": "2025-12-19 15:10:14.489572", "msg": "", "rc": 0, "start": "2025-12-19 15:10:14.477847", "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.006298", "end": "2025-12-19 15:10:14.641740", "msg": "", "rc": 0, "start": "2025-12-19 15:10:14.635442", "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.005892", "end": "2025-12-19 15:09:41.668434", "msg": "", "rc": 0, "start": "2025-12-19 15:09:41.662542", "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.005375", "end": "2025-12-19 12:10:14.953283", "msg": "", "rc": 0, "start": "2025-12-19 12:10:14.947908", "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.004630", "end": "2025-12-19 15:09:49.009524", "msg": "", "rc": 0, "start": "2025-12-19 15:09:49.004894", "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.005357", "end": "2025-12-19 15:10:15.064765", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.059408", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008535", "end": "2025-12-19 15:10:17.797924", "msg": "", "rc": 0, "start": "2025-12-19 15:10:17.789389", "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.025053", "end": "2025-12-19 15:10:15.070679", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.045626", "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.004135", "end": "2025-12-19 15:10:15.602413", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.598278", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004566", "end": "2025-12-19 15:10:15.617187", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.612621", "stderr": "", "stderr_lines": [], "stdout": "48.7%", "stdout_lines": ["48.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.004090", "end": "2025-12-19 15:10:15.627252", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.623162", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004836", "end": "2025-12-19 15:10:15.644510", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.639674", "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.005808", "end": "2025-12-19 15:10:15.665331", "msg": "", "rc": 0, "start": "2025-12-19 15:10:15.659523", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003778", "end": "2025-12-19 15:09:47.503858", "msg": "", "rc": 0, "start": "2025-12-19 15:09:47.500080", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008467", "end": "2025-12-19 15:09:40.405772", "msg": "", "rc": 0, "start": "2025-12-19 15:09:40.397305", "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.010753", "end": "2025-12-19 15:10:16.292631", "msg": "", "rc": 0, "start": "2025-12-19 15:10:16.281878", "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.012033", "end": "2025-12-19 15:10:16.323502", "msg": "", "rc": 0, "start": "2025-12-19 15:10:16.311469", "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.006790", "end": "2025-12-19 15:10:16.577820", "msg": "", "rc": 0, "start": "2025-12-19 15:10:16.571030", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.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.005288", "end": "2025-12-19 12:10:16.793646", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:10:16.788358", "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.003352", "end": "2025-12-19 15:09:50.827101", "msg": "", "rc": 0, "start": "2025-12-19 15:09:50.823749", "stderr": "", "stderr_lines": [], "stdout": "53.5%", "stdout_lines": ["53.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.004795", "end": "2025-12-19 15:09:43.606493", "msg": "", "rc": 0, "start": "2025-12-19 15:09:43.601698", "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.005456", "end": "2025-12-19 15:10:16.996385", "msg": "", "rc": 0, "start": "2025-12-19 15:10:16.990929", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.007786", "end": "2025-12-19 15:10:19.931880", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.924094", "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.025680", "end": "2025-12-19 15:10:16.994578", "msg": "", "rc": 0, "start": "2025-12-19 15:10:16.968898", "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.005261", "end": "2025-12-19 15:10:17.530142", "msg": "", "rc": 0, "start": "2025-12-19 15:10:17.524881", "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.004794", "end": "2025-12-19 15:10:17.552402", "msg": "", "rc": 0, "start": "2025-12-19 15:10:17.547608", "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.005642", "end": "2025-12-19 15:10:17.555520", "msg": "", "rc": 0, "start": "2025-12-19 15:10:17.549878", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003226", "end": "2025-12-19 15:10:17.581938", "msg": "", "rc": 0, "start": "2025-12-19 15:10:17.578712", "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.006864", "end": "2025-12-19 15:10:17.617671", "msg": "", "rc": 0, "start": "2025-12-19 15:10:17.610807", "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.003006", "end": "2025-12-19 15:09:49.430883", "msg": "", "rc": 0, "start": "2025-12-19 15:09:49.427877", "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.003138", "end": "2025-12-19 15:09:42.314310", "msg": "", "rc": 0, "start": "2025-12-19 15:09:42.311172", "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-19 15:10:18.223703", "msg": "", "rc": 0, "start": "2025-12-19 15:10:18.211780", "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.013056", "end": "2025-12-19 15:10:18.274470", "msg": "", "rc": 0, "start": "2025-12-19 15:10:18.261414", "stderr": "", "stderr_lines": [], "stdout": "38.0°C", "stdout_lines": ["38.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.003036", "end": "2025-12-19 15:10:18.494552", "msg": "", "rc": 0, "start": "2025-12-19 15:10:18.491516", "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.003142", "end": "2025-12-19 15:09:45.498045", "msg": "", "rc": 0, "start": "2025-12-19 15:09:45.494903", "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.002851", "end": "2025-12-19 15:09:52.724686", "msg": "", "rc": 0, "start": "2025-12-19 15:09:52.721835", "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.004119", "end": "2025-12-19 12:10:18.731206", "msg": "", "rc": 0, "start": "2025-12-19 12:10:18.727087", "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.003057", "end": "2025-12-19 15:10:18.922011", "msg": "", "rc": 0, "start": "2025-12-19 15:10:18.918954", "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.004572", "end": "2025-12-19 15:10:19.084078", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.079506", "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.028748", "end": "2025-12-19 15:10:18.930865", "msg": "", "rc": 0, "start": "2025-12-19 15:10:18.902117", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.004398", "end": "2025-12-19 15:10:19.471542", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.467144", "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.003971", "end": "2025-12-19 15:10:19.482582", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.478611", "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.004713", "end": "2025-12-19 15:10:19.486291", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.481578", "stderr": "", "stderr_lines": [], "stdout": "0.76", "stdout_lines": ["0.76"]}
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.005031", "end": "2025-12-19 15:10:19.514470", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.509439", "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.005558", "end": "2025-12-19 15:10:19.508922", "msg": "", "rc": 0, "start": "2025-12-19 15:10:19.503364", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
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.004210", "end": "2025-12-19 15:09:51.377359", "msg": "", "rc": 0, "start": "2025-12-19 15:09:51.373149", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005187", "end": "2025-12-19 15:09:44.233726", "msg": "", "rc": 0, "start": "2025-12-19 15:09:44.228539", "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.010044", "end": "2025-12-19 15:10:20.243522", "msg": "", "rc": 0, "start": "2025-12-19 15:10:20.233478", "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.011315", "end": "2025-12-19 15:10:20.297277", "msg": "", "rc": 0, "start": "2025-12-19 15:10:20.285962", "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.005456", "end": "2025-12-19 15:10:20.436154", "msg": "", "rc": 0, "start": "2025-12-19 15:10:20.430698", "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.004875", "end": "2025-12-19 15:09:47.409049", "msg": "", "rc": 0, "start": "2025-12-19 15:09:47.404174", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
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.004285", "end": "2025-12-19 15:09:54.746359", "msg": "", "rc": 0, "start": "2025-12-19 15:09:54.742074", "stderr": "", "stderr_lines": [], "stdout": "0.78", "stdout_lines": ["0.78"]}
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.006082", "end": "2025-12-19 12:10:20.770400", "msg": "", "rc": 0, "start": "2025-12-19 12:10:20.764318", "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.005225", "end": "2025-12-19 15:10:20.851585", "msg": "", "rc": 0, "start": "2025-12-19 15:10:20.846360", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007181", "end": "2025-12-19 15:10:21.210006", "msg": "", "rc": 0, "start": "2025-12-19 15:10:21.202825", "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.024186", "end": "2025-12-19 15:10:20.869499", "msg": "", "rc": 0, "start": "2025-12-19 15:10:20.845313", "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: 15:10:11 up 5:54, 2 users, load average: 0.08, 0.18, 0.18\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.14\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:10 up 24 days, 2:01, 1 user, load average: 0.15, 0.14, 0.10\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:10 up 24 days, 2:21, 1 user, load average: 0.73, 0.83, 0.78\nDisk Usage: 14%\nMemory Usage: 48.7%\nCPU Load: 0.76\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 24 days, 3:34, 1 user, load average: 0.89, 0.85, 0.80\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.90\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:12 up 17 days, 4:36, 1 user, load average: 0.19, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.24\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 24 days, 4:20, 1 user, load average: 0.12, 0.11, 0.07\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 196 days, 6:43, 1 user, load average: 0.10, 0.26, 0.24\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.10\nCPU Temp: 38.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 196 days, 6:43, 1 user, load average: 0.13, 0.15, 0.13\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.20\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:42 up 13 days, 2:59, 0 user, load average: 0.16, 0.11, 0.14\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:36 up 19 days, 23:11, 0 user, load average: 0.15, 0.04, 0.01\nDisk Usage: 25%\nMemory Usage: 64.7%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:12 up 5:53, 1 user, load average: 0.03, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:39 up 22 days, 18:03, 0 user, load average: 0.53, 0.59, 0.55\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.83\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:46 up 19 days, 4:25, 0 user, load average: 0.83, 0.53, 0.47\nDisk Usage: 76%\nMemory Usage: 53.5%\nCPU Load: 0.78\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10PM up 24 days, 1:59, 1 user, load averages: 0.33, 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: 15:10:12 up 5:53, 1 user, load average: 0.07, 0.06, 0.04\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:15 up 1:07, 1 user, load average: 1.18, 1.16, 1.11\nDisk Usage: 1%\nMemory Usage: 12.6%\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-19T20:10:22.159366+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `542f6e8255be4022ad04674e5bf127b8` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:15:00.006797+00:00 |
| **Fin** | 2025-12-19T20:15:21.567520+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: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [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.003222", "end": "2025-12-19 15:15:10.125582", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.122360", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 24 days, 2:06, 1 user, load average: 0.13, 0.07, 0.08", "stdout_lines": [" 15:15:10 up 24 days, 2:06, 1 user, load average: 0.13, 0.07, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003823", "end": "2025-12-19 15:15:10.140912", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.137089", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 24 days, 4:25, 1 user, load average: 0.15, 0.09, 0.07", "stdout_lines": [" 15:15:10 up 24 days, 4:25, 1 user, load average: 0.15, 0.09, 0.07"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003469", "end": "2025-12-19 15:15:10.154593", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.151124", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 24 days, 2:26, 1 user, load average: 1.20, 0.97, 0.85", "stdout_lines": [" 15:15:10 up 24 days, 2:26, 1 user, load average: 1.20, 0.97, 0.85"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004076", "end": "2025-12-19 15:15:10.152480", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.148404", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 24 days, 3:39, 1 user, load average: 0.48, 0.70, 0.75", "stdout_lines": [" 15:15:10 up 24 days, 3:39, 1 user, load average: 0.48, 0.70, 0.75"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002898", "end": "2025-12-19 15:15:10.169492", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.166594", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 5:59, 2 users, load average: 0.03, 0.09, 0.14", "stdout_lines": [" 15:15:10 up 5:59, 2 users, load average: 0.03, 0.09, 0.14"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002739", "end": "2025-12-19 15:14:42.031431", "msg": "", "rc": 0, "start": "2025-12-19 15:14:42.028692", "stderr": "", "stderr_lines": [], "stdout": " 15:14:42 up 13 days, 3:04, 0 user, load average: 0.18, 0.13, 0.14", "stdout_lines": [" 15:14:42 up 13 days, 3:04, 0 user, load average: 0.18, 0.13, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003339", "end": "2025-12-19 15:14:34.870012", "msg": "", "rc": 0, "start": "2025-12-19 15:14:34.866673", "stderr": "", "stderr_lines": [], "stdout": " 15:14:34 up 19 days, 23:16, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:14:34 up 19 days, 23:16, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008352", "end": "2025-12-19 15:15:10.820129", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.811777", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 196 days, 6:48, 1 user, load average: 0.20, 0.14, 0.12", "stdout_lines": [" 15:15:10 up 196 days, 6:48, 1 user, load average: 0.20, 0.14, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009493", "end": "2025-12-19 15:15:10.851649", "msg": "", "rc": 0, "start": "2025-12-19 15:15:10.842156", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 196 days, 6:48, 1 user, load average: 0.19, 0.22, 0.22", "stdout_lines": [" 15:15:10 up 196 days, 6:48, 1 user, load average: 0.19, 0.22, 0.22"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005049", "end": "2025-12-19 15:15:11.090586", "msg": "", "rc": 0, "start": "2025-12-19 15:15:11.085537", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 5:58, 1 user, load average: 0.05, 0.04, 0.00", "stdout_lines": [" 15:15:11 up 5:58, 1 user, load average: 0.05, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003354", "end": "2025-12-19 15:14:38.047486", "msg": "", "rc": 0, "start": "2025-12-19 15:14:38.044132", "stderr": "", "stderr_lines": [], "stdout": " 15:14:38 up 22 days, 18:08, 0 user, load average: 0.49, 0.54, 0.54", "stdout_lines": [" 15:14:38 up 22 days, 18:08, 0 user, load average: 0.49, 0.54, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002806", "end": "2025-12-19 15:14:45.315696", "msg": "", "rc": 0, "start": "2025-12-19 15:14:45.312890", "stderr": "", "stderr_lines": [], "stdout": " 15:14:45 up 19 days, 4:30, 0 user, load average: 0.43, 0.43, 0.43", "stdout_lines": [" 15:14:45 up 19 days, 4:30, 0 user, load average: 0.43, 0.43, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004686", "end": "2025-12-19 12:15:11.314416", "msg": "", "rc": 0, "start": "2025-12-19 12:15:11.309730", "stderr": "", "stderr_lines": [], "stdout": "12:15PM up 24 days, 2:04, 1 user, load averages: 0.11, 0.16, 0.17", "stdout_lines": ["12:15PM up 24 days, 2:04, 1 user, load averages: 0.11, 0.16, 0.17"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003888", "end": "2025-12-19 15:15:11.511159", "msg": "", "rc": 0, "start": "2025-12-19 15:15:11.507271", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 5:58, 1 user, load average: 0.08, 0.04, 0.02", "stdout_lines": [" 15:15:11 up 5:58, 1 user, load average: 0.08, 0.04, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005574", "end": "2025-12-19 15:15:14.260328", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.254754", "stderr": "", "stderr_lines": [], "stdout": " 15:15:14 up 1:13, 1 user, load average: 1.50, 1.26, 1.15", "stdout_lines": [" 15:15:14 up 1:13, 1 user, load average: 1.50, 1.26, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019502", "end": "2025-12-19 15:15:11.510477", "msg": "", "rc": 0, "start": "2025-12-19 15:15:11.490975", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 17 days, 4:41, 1 user, load average: 0.21, 0.13, 0.10", "stdout_lines": [" 15:15:11 up 17 days, 4:41, 1 user, load average: 0.21, 0.13, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004109", "end": "2025-12-19 15:15:12.033281", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.029172", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004085", "end": "2025-12-19 15:15:12.053261", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.049176", "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.004562", "end": "2025-12-19 15:15:12.048247", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.043685", "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.004528", "end": "2025-12-19 15:15:12.080632", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.076104", "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-19 15:15:12.102126", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.096733", "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.005321", "end": "2025-12-19 15:14:43.946124", "msg": "", "rc": 0, "start": "2025-12-19 15:14:43.940803", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006056", "end": "2025-12-19 15:14:36.843622", "msg": "", "rc": 0, "start": "2025-12-19 15:14:36.837566", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010916", "end": "2025-12-19 15:15:12.784415", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.773499", "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.011510", "end": "2025-12-19 15:15:12.803009", "msg": "", "rc": 0, "start": "2025-12-19 15:15:12.791499", "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.006240", "end": "2025-12-19 15:15:13.007046", "msg": "", "rc": 0, "start": "2025-12-19 15:15:13.000806", "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.005157", "end": "2025-12-19 15:14:40.016186", "msg": "", "rc": 0, "start": "2025-12-19 15:14:40.011029", "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.005451", "end": "2025-12-19 12:15:13.256284", "msg": "", "rc": 0, "start": "2025-12-19 12:15:13.250833", "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.005464", "end": "2025-12-19 15:14:47.312058", "msg": "", "rc": 0, "start": "2025-12-19 15:14:47.306594", "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.006743", "end": "2025-12-19 15:15:13.469921", "msg": "", "rc": 0, "start": "2025-12-19 15:15:13.463178", "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.025696", "end": "2025-12-19 15:15:13.431172", "msg": "", "rc": 0, "start": "2025-12-19 15:15:13.405476", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007605", "end": "2025-12-19 15:15:16.575027", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.567422", "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.004220", "end": "2025-12-19 15:15:14.055643", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.051423", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004599", "end": "2025-12-19 15:15:14.072570", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.067971", "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.004323", "end": "2025-12-19 15:15:14.074843", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.070520", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.005287", "end": "2025-12-19 15:15:14.103215", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.097928", "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.005658", "end": "2025-12-19 15:15:14.118825", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.113167", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003515", "end": "2025-12-19 15:14:46.005936", "msg": "", "rc": 0, "start": "2025-12-19 15:14:46.002421", "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.004203", "end": "2025-12-19 15:14:38.871871", "msg": "", "rc": 0, "start": "2025-12-19 15:14:38.867668", "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.010842", "end": "2025-12-19 15:15:14.795059", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.784217", "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.011691", "end": "2025-12-19 15:15:14.842132", "msg": "", "rc": 0, "start": "2025-12-19 15:15:14.830441", "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.005751", "end": "2025-12-19 15:15:15.213692", "msg": "", "rc": 0, "start": "2025-12-19 15:15:15.207941", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.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.005198", "end": "2025-12-19 12:15:15.304977", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:15:15.299779", "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.003686", "end": "2025-12-19 15:14:49.364398", "msg": "", "rc": 0, "start": "2025-12-19 15:14:49.360712", "stderr": "", "stderr_lines": [], "stdout": "56.4%", "stdout_lines": ["56.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.004048", "end": "2025-12-19 15:14:42.201557", "msg": "", "rc": 0, "start": "2025-12-19 15:14:42.197509", "stderr": "", "stderr_lines": [], "stdout": "26.0%", "stdout_lines": ["26.0%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026110", "end": "2025-12-19 15:15:15.498918", "msg": "", "rc": 0, "start": "2025-12-19 15:15:15.472808", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005334", "end": "2025-12-19 15:15:15.688211", "msg": "", "rc": 0, "start": "2025-12-19 15:15:15.682877", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.008941", "end": "2025-12-19 15:15:15.912897", "msg": "", "rc": 0, "start": "2025-12-19 15:15:15.903956", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.005205", "end": "2025-12-19 15:15:16.249771", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.244566", "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.004836", "end": "2025-12-19 15:15:16.257963", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.253127", "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.005528", "end": "2025-12-19 15:15:16.278774", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.273246", "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.003152", "end": "2025-12-19 15:15:16.303236", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.300084", "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.006877", "end": "2025-12-19 15:15:16.336031", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.329154", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002759", "end": "2025-12-19 15:14:48.142859", "msg": "", "rc": 0, "start": "2025-12-19 15:14:48.140100", "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.003189", "end": "2025-12-19 15:14:41.055674", "msg": "", "rc": 0, "start": "2025-12-19 15:14:41.052485", "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.011803", "end": "2025-12-19 15:15:16.931064", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.919261", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012792", "end": "2025-12-19 15:15:16.988937", "msg": "", "rc": 0, "start": "2025-12-19 15:15:16.976145", "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.003164", "end": "2025-12-19 15:15:17.206737", "msg": "", "rc": 0, "start": "2025-12-19 15:15:17.203573", "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.002642", "end": "2025-12-19 15:14:51.445308", "msg": "", "rc": 0, "start": "2025-12-19 15:14:51.442666", "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.003852", "end": "2025-12-19 12:15:17.435102", "msg": "", "rc": 0, "start": "2025-12-19 12:15:17.431250", "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.003011", "end": "2025-12-19 15:14:44.251889", "msg": "", "rc": 0, "start": "2025-12-19 15:14:44.248878", "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.003089", "end": "2025-12-19 15:15:17.629009", "msg": "", "rc": 0, "start": "2025-12-19 15:15:17.625920", "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.004546", "end": "2025-12-19 15:15:18.110414", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.105868", "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.028696", "end": "2025-12-19 15:15:17.648037", "msg": "", "rc": 0, "start": "2025-12-19 15:15:17.619341", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004123", "end": "2025-12-19 15:15:18.190093", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.185970", "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.004313", "end": "2025-12-19 15:15:18.215145", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.210832", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
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.004917", "end": "2025-12-19 15:15:18.235296", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.230379", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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-19 15:15:18.243689", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.238925", "stderr": "", "stderr_lines": [], "stdout": "1.17", "stdout_lines": ["1.17"]}
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.005785", "end": "2025-12-19 15:15:18.267833", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.262048", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
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.004815", "end": "2025-12-19 15:14:50.105698", "msg": "", "rc": 0, "start": "2025-12-19 15:14:50.100883", "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.005333", "end": "2025-12-19 15:14:43.011004", "msg": "", "rc": 0, "start": "2025-12-19 15:14:43.005671", "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.010245", "end": "2025-12-19 15:15:18.988632", "msg": "", "rc": 0, "start": "2025-12-19 15:15:18.978387", "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.005813", "end": "2025-12-19 15:15:19.175247", "msg": "", "rc": 0, "start": "2025-12-19 15:15:19.169434", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.005177", "end": "2025-12-19 15:14:46.194281", "msg": "", "rc": 0, "start": "2025-12-19 15:14:46.189104", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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.004396", "end": "2025-12-19 15:14:53.503406", "msg": "", "rc": 0, "start": "2025-12-19 15:14:53.499010", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005881", "end": "2025-12-19 12:15:19.591581", "msg": "", "rc": 0, "start": "2025-12-19 12:15:19.585700", "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.024485", "end": "2025-12-19 15:15:19.586887", "msg": "", "rc": 0, "start": "2025-12-19 15:15:19.562402", "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.007979", "end": "2025-12-19 15:15:20.405729", "msg": "", "rc": 0, "start": "2025-12-19 15:15:20.397750", "stderr": "", "stderr_lines": [], "stdout": "1.64", "stdout_lines": ["1.64"]}
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.005568", "end": "2025-12-19 15:15:19.831197", "msg": "", "rc": 0, "start": "2025-12-19 15:15:19.825629", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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:01.014080", "end": "2025-12-19 15:15:20.014422", "msg": "", "rc": 0, "start": "2025-12-19 15:15:19.000342", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 5:59, 2 users, load average: 0.03, 0.09, 0.14\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.17\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 24 days, 2:06, 1 user, load average: 0.13, 0.07, 0.08\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 24 days, 2:26, 1 user, load average: 1.20, 0.97, 0.85\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.17\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 24 days, 3:39, 1 user, load average: 0.48, 0.70, 0.75\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.44\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 24 days, 4:25, 1 user, load average: 0.15, 0.09, 0.07\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 17 days, 4:41, 1 user, load average: 0.21, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.19\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 196 days, 6:48, 1 user, load average: 0.19, 0.22, 0.22\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.17\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 196 days, 6:48, 1 user, load average: 0.20, 0.14, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.17\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:42 up 13 days, 3:04, 0 user, load average: 0.18, 0.13, 0.14\nDisk Usage: 50%\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: 15:14:34 up 19 days, 23:16, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 5:58, 1 user, load average: 0.05, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:38 up 22 days, 18:08, 0 user, load average: 0.49, 0.54, 0.54\nDisk Usage: 28%\nMemory Usage: 26.0%\nCPU Load: 0.85\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:45 up 19 days, 4:30, 0 user, load average: 0.43, 0.43, 0.43\nDisk Usage: 76%\nMemory Usage: 56.4%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15PM up 24 days, 2:04, 1 user, load averages: 0.11, 0.16, 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: 15:15:11 up 5:58, 1 user, load average: 0.08, 0.04, 0.02\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:14 up 1:13, 1 user, load average: 1.50, 1.26, 1.15\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.64\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-19T20:15:21.628319+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `2b7c7a1e17fb4ed3b8d5262b274296bc` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:20:00.003472+00:00 |
| **Fin** | 2025-12-19T20:20:21.220726+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: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003884", "end": "2025-12-19 15:20:10.223191", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.219307", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 24 days, 4:30, 1 user, load average: 0.01, 0.06, 0.06", "stdout_lines": [" 15:20:10 up 24 days, 4:30, 1 user, load average: 0.01, 0.06, 0.06"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003437", "end": "2025-12-19 15:20:10.218531", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.215094", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 24 days, 2:11, 1 user, load average: 0.08, 0.06, 0.07", "stdout_lines": [" 15:20:10 up 24 days, 2:11, 1 user, load average: 0.08, 0.06, 0.07"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003295", "end": "2025-12-19 15:20:10.223680", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.220385", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 24 days, 2:31, 1 user, load average: 0.50, 0.78, 0.81", "stdout_lines": [" 15:20:10 up 24 days, 2:31, 1 user, load average: 0.50, 0.78, 0.81"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003930", "end": "2025-12-19 15:20:10.244835", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.240905", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 24 days, 3:44, 1 user, load average: 0.40, 0.64, 0.72", "stdout_lines": [" 15:20:10 up 24 days, 3:44, 1 user, load average: 0.40, 0.64, 0.72"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002856", "end": "2025-12-19 15:20:10.255507", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.252651", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 6:04, 1 user, load average: 0.04, 0.14, 0.16", "stdout_lines": [" 15:20:10 up 6:04, 1 user, load average: 0.04, 0.14, 0.16"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002929", "end": "2025-12-19 15:19:42.096802", "msg": "", "rc": 0, "start": "2025-12-19 15:19:42.093873", "stderr": "", "stderr_lines": [], "stdout": " 15:19:42 up 13 days, 3:09, 0 user, load average: 0.01, 0.05, 0.09", "stdout_lines": [" 15:19:42 up 13 days, 3:09, 0 user, load average: 0.01, 0.05, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003553", "end": "2025-12-19 15:19:34.946368", "msg": "", "rc": 0, "start": "2025-12-19 15:19:34.942815", "stderr": "", "stderr_lines": [], "stdout": " 15:19:34 up 19 days, 23:21, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 15:19:34 up 19 days, 23:21, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008429", "end": "2025-12-19 15:20:10.885456", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.877027", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 196 days, 6:53, 1 user, load average: 0.54, 0.20, 0.12", "stdout_lines": [" 15:20:10 up 196 days, 6:53, 1 user, load average: 0.54, 0.20, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009226", "end": "2025-12-19 15:20:10.922316", "msg": "", "rc": 0, "start": "2025-12-19 15:20:10.913090", "stderr": "", "stderr_lines": [], "stdout": " 15:20:10 up 196 days, 6:53, 1 user, load average: 0.16, 0.17, 0.19", "stdout_lines": [" 15:20:10 up 196 days, 6:53, 1 user, load average: 0.16, 0.17, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004528", "end": "2025-12-19 15:20:11.160925", "msg": "", "rc": 0, "start": "2025-12-19 15:20:11.156397", "stderr": "", "stderr_lines": [], "stdout": " 15:20:11 up 6:03, 1 user, load average: 0.08, 0.07, 0.01", "stdout_lines": [" 15:20:11 up 6:03, 1 user, load average: 0.08, 0.07, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003371", "end": "2025-12-19 15:19:38.110636", "msg": "", "rc": 0, "start": "2025-12-19 15:19:38.107265", "stderr": "", "stderr_lines": [], "stdout": " 15:19:38 up 22 days, 18:13, 0 user, load average: 0.62, 0.55, 0.54", "stdout_lines": [" 15:19:38 up 22 days, 18:13, 0 user, load average: 0.62, 0.55, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004163", "end": "2025-12-19 12:20:11.377783", "msg": "", "rc": 0, "start": "2025-12-19 12:20:11.373620", "stderr": "", "stderr_lines": [], "stdout": "12:20PM up 24 days, 2:09, 1 user, load averages: 0.63, 0.30, 0.21", "stdout_lines": ["12:20PM up 24 days, 2:09, 1 user, load averages: 0.63, 0.30, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002843", "end": "2025-12-19 15:19:45.402198", "msg": "", "rc": 0, "start": "2025-12-19 15:19:45.399355", "stderr": "", "stderr_lines": [], "stdout": " 15:19:45 up 19 days, 4:35, 0 user, load average: 0.13, 0.29, 0.38", "stdout_lines": [" 15:19:45 up 19 days, 4:35, 0 user, load average: 0.13, 0.29, 0.38"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003773", "end": "2025-12-19 15:20:11.576380", "msg": "", "rc": 0, "start": "2025-12-19 15:20:11.572607", "stderr": "", "stderr_lines": [], "stdout": " 15:20:11 up 6:03, 1 user, load average: 0.21, 0.09, 0.03", "stdout_lines": [" 15:20:11 up 6:03, 1 user, load average: 0.21, 0.09, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008868", "end": "2025-12-19 15:20:11.927634", "msg": "", "rc": 0, "start": "2025-12-19 15:20:11.918766", "stderr": "", "stderr_lines": [], "stdout": " 15:20:11 up 1:18, 1 user, load average: 1.28, 1.22, 1.16", "stdout_lines": [" 15:20:11 up 1:18, 1 user, load average: 1.28, 1.22, 1.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019633", "end": "2025-12-19 15:20:11.587964", "msg": "", "rc": 0, "start": "2025-12-19 15:20:11.568331", "stderr": "", "stderr_lines": [], "stdout": " 15:20:11 up 17 days, 4:46, 1 user, load average: 0.19, 0.13, 0.10", "stdout_lines": [" 15:20:11 up 17 days, 4:46, 1 user, load average: 0.19, 0.13, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004078", "end": "2025-12-19 15:20:12.122919", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.118841", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004123", "end": "2025-12-19 15:20:12.104206", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.100083", "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.004659", "end": "2025-12-19 15:20:12.132233", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.127574", "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.004682", "end": "2025-12-19 15:20:12.148397", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.143715", "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.005623", "end": "2025-12-19 15:20:12.155644", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.150021", "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.004642", "end": "2025-12-19 15:19:44.017296", "msg": "", "rc": 0, "start": "2025-12-19 15:19:44.012654", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005483", "end": "2025-12-19 15:19:36.867092", "msg": "", "rc": 0, "start": "2025-12-19 15:19:36.861609", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010362", "end": "2025-12-19 15:20:12.853972", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.843610", "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.011432", "end": "2025-12-19 15:20:12.902251", "msg": "", "rc": 0, "start": "2025-12-19 15:20:12.890819", "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.006813", "end": "2025-12-19 15:20:13.081359", "msg": "", "rc": 0, "start": "2025-12-19 15:20:13.074546", "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.005170", "end": "2025-12-19 15:19:40.026937", "msg": "", "rc": 0, "start": "2025-12-19 15:19:40.021767", "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.005465", "end": "2025-12-19 15:19:47.360846", "msg": "", "rc": 0, "start": "2025-12-19 15:19:47.355381", "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.005366", "end": "2025-12-19 12:20:13.358513", "msg": "", "rc": 0, "start": "2025-12-19 12:20:13.353147", "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.005516", "end": "2025-12-19 15:20:13.511177", "msg": "", "rc": 0, "start": "2025-12-19 15:20:13.505661", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021286", "end": "2025-12-19 15:20:14.001845", "msg": "", "rc": 0, "start": "2025-12-19 15:20:13.980559", "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.025135", "end": "2025-12-19 15:20:13.525232", "msg": "", "rc": 0, "start": "2025-12-19 15:20:13.500097", "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.004262", "end": "2025-12-19 15:20:14.041020", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.036758", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004285", "end": "2025-12-19 15:20:14.061815", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.057530", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.005013", "end": "2025-12-19 15:20:14.093249", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.088236", "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.005992", "end": "2025-12-19 15:20:14.114097", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.108105", "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.008285", "end": "2025-12-19 15:20:14.140745", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.132460", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003673", "end": "2025-12-19 15:19:45.976377", "msg": "", "rc": 0, "start": "2025-12-19 15:19:45.972704", "stderr": "", "stderr_lines": [], "stdout": "71.8%", "stdout_lines": ["71.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.004592", "end": "2025-12-19 15:19:38.841312", "msg": "", "rc": 0, "start": "2025-12-19 15:19:38.836720", "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.010748", "end": "2025-12-19 15:20:14.765090", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.754342", "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.011950", "end": "2025-12-19 15:20:14.798732", "msg": "", "rc": 0, "start": "2025-12-19 15:20:14.786782", "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.005692", "end": "2025-12-19 15:20:15.041416", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.035724", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004458", "end": "2025-12-19 15:19:42.025823", "msg": "", "rc": 0, "start": "2025-12-19 15:19:42.021365", "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.005089", "end": "2025-12-19 12:20:15.282214", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:20:15.277125", "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.003688", "end": "2025-12-19 15:19:49.291688", "msg": "", "rc": 0, "start": "2025-12-19 15:19:49.288000", "stderr": "", "stderr_lines": [], "stdout": "52.0%", "stdout_lines": ["52.0%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005770", "end": "2025-12-19 15:20:15.469676", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.463906", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.010277", "end": "2025-12-19 15:20:16.157105", "msg": "", "rc": 0, "start": "2025-12-19 15:20:16.146828", "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.025998", "end": "2025-12-19 15:20:15.436455", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.410457", "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.005509", "end": "2025-12-19 15:20:15.940086", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.934577", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005069", "end": "2025-12-19 15:20:15.957777", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.952708", "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.005567", "end": "2025-12-19 15:20:15.967737", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.962170", "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.003204", "end": "2025-12-19 15:20:15.988725", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.985521", "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.006568", "end": "2025-12-19 15:20:16.004845", "msg": "", "rc": 0, "start": "2025-12-19 15:20:15.998277", "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.002401", "end": "2025-12-19 15:19:47.834591", "msg": "", "rc": 0, "start": "2025-12-19 15:19:47.832190", "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.003351", "end": "2025-12-19 15:19:40.721475", "msg": "", "rc": 0, "start": "2025-12-19 15:19:40.718124", "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.011799", "end": "2025-12-19 15:20:16.653473", "msg": "", "rc": 0, "start": "2025-12-19 15:20:16.641674", "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.012970", "end": "2025-12-19 15:20:16.695824", "msg": "", "rc": 0, "start": "2025-12-19 15:20:16.682854", "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.003214", "end": "2025-12-19 15:20:16.892539", "msg": "", "rc": 0, "start": "2025-12-19 15:20:16.889325", "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.002629", "end": "2025-12-19 15:19:51.150060", "msg": "", "rc": 0, "start": "2025-12-19 15:19:51.147431", "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-19 15:19:43.929793", "msg": "", "rc": 0, "start": "2025-12-19 15:19:43.926861", "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.003895", "end": "2025-12-19 12:20:17.174297", "msg": "", "rc": 0, "start": "2025-12-19 12:20:17.170402", "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.003073", "end": "2025-12-19 15:20:17.313765", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.310692", "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.005358", "end": "2025-12-19 15:20:18.255719", "msg": "", "rc": 0, "start": "2025-12-19 15:20:18.250361", "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.028808", "end": "2025-12-19 15:20:17.335427", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.306619", "stderr": "", "stderr_lines": [], "stdout": "36.6°C", "stdout_lines": ["36.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.003998", "end": "2025-12-19 15:20:17.861543", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.857545", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.004066", "end": "2025-12-19 15:20:17.866841", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.862775", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004596", "end": "2025-12-19 15:20:17.872461", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.867865", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.005098", "end": "2025-12-19 15:20:17.898368", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.893270", "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.005572", "end": "2025-12-19 15:20:17.926827", "msg": "", "rc": 0, "start": "2025-12-19 15:20:17.921255", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.004862", "end": "2025-12-19 15:19:49.760687", "msg": "", "rc": 0, "start": "2025-12-19 15:19:49.755825", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008421", "end": "2025-12-19 15:19:42.658025", "msg": "", "rc": 0, "start": "2025-12-19 15:19:42.649604", "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.009938", "end": "2025-12-19 15:20:18.650233", "msg": "", "rc": 0, "start": "2025-12-19 15:20:18.640295", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.011146", "end": "2025-12-19 15:20:18.690917", "msg": "", "rc": 0, "start": "2025-12-19 15:20:18.679771", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
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.005766", "end": "2025-12-19 15:20:18.832136", "msg": "", "rc": 0, "start": "2025-12-19 15:20:18.826370", "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.004987", "end": "2025-12-19 15:19:45.863995", "msg": "", "rc": 0, "start": "2025-12-19 15:19:45.859008", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
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.005966", "end": "2025-12-19 12:20:19.144659", "msg": "", "rc": 0, "start": "2025-12-19 12:20:19.138693", "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.004374", "end": "2025-12-19 15:19:53.157816", "msg": "", "rc": 0, "start": "2025-12-19 15:19:53.153442", "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.005242", "end": "2025-12-19 15:20:19.255385", "msg": "", "rc": 0, "start": "2025-12-19 15:20:19.250143", "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.008287", "end": "2025-12-19 15:20:20.398820", "msg": "", "rc": 0, "start": "2025-12-19 15:20:20.390533", "stderr": "", "stderr_lines": [], "stdout": "1.86", "stdout_lines": ["1.86"]}
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.024110", "end": "2025-12-19 15:20:19.257941", "msg": "", "rc": 0, "start": "2025-12-19 15:20:19.233831", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 6:04, 1 user, load average: 0.04, 0.14, 0.16\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.11\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 24 days, 2:11, 1 user, load average: 0.08, 0.06, 0.07\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.06\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 24 days, 2:31, 1 user, load average: 0.50, 0.78, 0.81\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.49\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 24 days, 3:44, 1 user, load average: 0.40, 0.64, 0.72\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.45\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 24 days, 4:30, 1 user, load average: 0.01, 0.06, 0.06\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: 15:20:11 up 17 days, 4:46, 1 user, load average: 0.19, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.18\nCPU Temp: 36.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 196 days, 6:53, 1 user, load average: 0.16, 0.17, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.15\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:10 up 196 days, 6:53, 1 user, load average: 0.54, 0.20, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.54\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:42 up 13 days, 3:09, 0 user, load average: 0.01, 0.05, 0.09\nDisk Usage: 50%\nMemory Usage: 71.8%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:34 up 19 days, 23:21, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 25%\nMemory Usage: 64.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:11 up 6:03, 1 user, load average: 0.08, 0.07, 0.01\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:38 up 22 days, 18:13, 0 user, load average: 0.62, 0.55, 0.54\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.57\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:45 up 19 days, 4:35, 0 user, load average: 0.13, 0.29, 0.38\nDisk Usage: 76%\nMemory Usage: 52.0%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20PM up 24 days, 2:09, 1 user, load averages: 0.63, 0.30, 0.21\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:11 up 6:03, 1 user, load average: 0.21, 0.09, 0.03\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:11 up 1:18, 1 user, load average: 1.28, 1.22, 1.16\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.86\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-19T20:20:21.274865+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `55e03148b85f4998b5789775804c53d7` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:25:00.001328+00:00 |
| **Fin** | 2025-12-19T20:25:21.496121+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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.003225", "end": "2025-12-19 15:25:09.699256", "msg": "", "rc": 0, "start": "2025-12-19 15:25:09.696031", "stderr": "", "stderr_lines": [], "stdout": " 15:25:09 up 24 days, 2:36, 1 user, load average: 0.53, 0.63, 0.74", "stdout_lines": [" 15:25:09 up 24 days, 2:36, 1 user, load average: 0.53, 0.63, 0.74"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003696", "end": "2025-12-19 15:25:09.704145", "msg": "", "rc": 0, "start": "2025-12-19 15:25:09.700449", "stderr": "", "stderr_lines": [], "stdout": " 15:25:09 up 24 days, 4:35, 1 user, load average: 0.00, 0.03, 0.04", "stdout_lines": [" 15:25:09 up 24 days, 4:35, 1 user, load average: 0.00, 0.03, 0.04"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002899", "end": "2025-12-19 15:25:09.720786", "msg": "", "rc": 0, "start": "2025-12-19 15:25:09.717887", "stderr": "", "stderr_lines": [], "stdout": " 15:25:09 up 6:09, 1 user, load average: 0.50, 0.19, 0.15", "stdout_lines": [" 15:25:09 up 6:09, 1 user, load average: 0.50, 0.19, 0.15"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004178", "end": "2025-12-19 15:25:09.715801", "msg": "", "rc": 0, "start": "2025-12-19 15:25:09.711623", "stderr": "", "stderr_lines": [], "stdout": " 15:25:09 up 24 days, 3:49, 1 user, load average: 0.62, 0.63, 0.70", "stdout_lines": [" 15:25:09 up 24 days, 3:49, 1 user, load average: 0.62, 0.63, 0.70"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002915", "end": "2025-12-19 15:24:41.571816", "msg": "", "rc": 0, "start": "2025-12-19 15:24:41.568901", "stderr": "", "stderr_lines": [], "stdout": " 15:24:41 up 13 days, 3:14, 0 user, load average: 0.02, 0.05, 0.08", "stdout_lines": [" 15:24:41 up 13 days, 3:14, 0 user, load average: 0.02, 0.05, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008374", "end": "2025-12-19 15:25:10.368570", "msg": "", "rc": 0, "start": "2025-12-19 15:25:10.360196", "stderr": "", "stderr_lines": [], "stdout": " 15:25:10 up 196 days, 6:58, 1 user, load average: 0.25, 0.16, 0.11", "stdout_lines": [" 15:25:10 up 196 days, 6:58, 1 user, load average: 0.25, 0.16, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009285", "end": "2025-12-19 15:25:10.424612", "msg": "", "rc": 0, "start": "2025-12-19 15:25:10.415327", "stderr": "", "stderr_lines": [], "stdout": " 15:25:10 up 196 days, 6:58, 1 user, load average: 0.19, 0.16, 0.18", "stdout_lines": [" 15:25:10 up 196 days, 6:58, 1 user, load average: 0.19, 0.16, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004512", "end": "2025-12-19 15:25:10.695821", "msg": "", "rc": 0, "start": "2025-12-19 15:25:09.691309", "stderr": "", "stderr_lines": [], "stdout": " 15:25:09 up 24 days, 2:16, 1 user, load average: 0.10, 0.07, 0.07", "stdout_lines": [" 15:25:09 up 24 days, 2:16, 1 user, load average: 0.10, 0.07, 0.07"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003452", "end": "2025-12-19 15:24:34.846847", "msg": "", "rc": 0, "start": "2025-12-19 15:24:34.843395", "stderr": "", "stderr_lines": [], "stdout": " 15:24:34 up 19 days, 23:26, 0 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 15:24:34 up 19 days, 23:26, 0 user, load average: 0.08, 0.02, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004452", "end": "2025-12-19 15:25:10.877341", "msg": "", "rc": 0, "start": "2025-12-19 15:25:10.872889", "stderr": "", "stderr_lines": [], "stdout": " 15:25:10 up 6:08, 1 user, load average: 0.07, 0.06, 0.00", "stdout_lines": [" 15:25:10 up 6:08, 1 user, load average: 0.07, 0.06, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003205", "end": "2025-12-19 15:24:37.783952", "msg": "", "rc": 0, "start": "2025-12-19 15:24:37.780747", "stderr": "", "stderr_lines": [], "stdout": " 15:24:37 up 22 days, 18:18, 0 user, load average: 0.22, 0.40, 0.48", "stdout_lines": [" 15:24:37 up 22 days, 18:18, 0 user, load average: 0.22, 0.40, 0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004281", "end": "2025-12-19 12:25:11.123103", "msg": "", "rc": 0, "start": "2025-12-19 12:25:11.118822", "stderr": "", "stderr_lines": [], "stdout": "12:25PM up 24 days, 2:14, 1 user, load averages: 0.37, 0.27, 0.21", "stdout_lines": ["12:25PM up 24 days, 2:14, 1 user, load averages: 0.37, 0.27, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002714", "end": "2025-12-19 15:24:45.155281", "msg": "", "rc": 0, "start": "2025-12-19 15:24:45.152567", "stderr": "", "stderr_lines": [], "stdout": " 15:24:45 up 19 days, 4:40, 0 user, load average: 0.01, 0.16, 0.30", "stdout_lines": [" 15:24:45 up 19 days, 4:40, 0 user, load average: 0.01, 0.16, 0.30"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019422", "end": "2025-12-19 15:25:11.084331", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.064909", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 17 days, 4:51, 1 user, load average: 0.26, 0.14, 0.10", "stdout_lines": [" 15:25:11 up 17 days, 4:51, 1 user, load average: 0.26, 0.14, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003642", "end": "2025-12-19 15:25:11.295692", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.292050", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 6:08, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:25:11 up 6:08, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008525", "end": "2025-12-19 15:25:12.209892", "msg": "", "rc": 0, "start": "2025-12-19 15:25:12.201367", "stderr": "", "stderr_lines": [], "stdout": " 15:25:12 up 1:24, 1 user, load average: 1.14, 1.17, 1.16", "stdout_lines": [" 15:25:12 up 1:24, 1 user, load average: 1.14, 1.17, 1.16"]}
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-19 15:25:11.703518", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.699361", "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-19 15:25:11.726640", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.722604", "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.004690", "end": "2025-12-19 15:25:11.745495", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.740805", "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.004280", "end": "2025-12-19 15:25:11.769062", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.764782", "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.005469", "end": "2025-12-19 15:25:11.773176", "msg": "", "rc": 0, "start": "2025-12-19 15:25:11.767707", "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.005025", "end": "2025-12-19 15:24:43.620014", "msg": "", "rc": 0, "start": "2025-12-19 15:24:43.614989", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005507", "end": "2025-12-19 15:24:36.464343", "msg": "", "rc": 0, "start": "2025-12-19 15:24:36.458836", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010504", "end": "2025-12-19 15:25:12.434345", "msg": "", "rc": 0, "start": "2025-12-19 15:25:12.423841", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011494", "end": "2025-12-19 15:25:12.504680", "msg": "", "rc": 0, "start": "2025-12-19 15:25:12.493186", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005686", "end": "2025-12-19 15:25:12.698425", "msg": "", "rc": 0, "start": "2025-12-19 15:25:12.692739", "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.005425", "end": "2025-12-19 15:24:39.637162", "msg": "", "rc": 0, "start": "2025-12-19 15:24:39.631737", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005416", "end": "2025-12-19 12:25:12.967369", "msg": "", "rc": 0, "start": "2025-12-19 12:25:12.961953", "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.006095", "end": "2025-12-19 15:24:46.978073", "msg": "", "rc": 0, "start": "2025-12-19 15:24:46.971978", "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.005410", "end": "2025-12-19 15:25:13.122716", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.117306", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019869", "end": "2025-12-19 15:25:14.250117", "msg": "", "rc": 0, "start": "2025-12-19 15:25:14.230248", "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.025211", "end": "2025-12-19 15:25:13.087289", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.062078", "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.004437", "end": "2025-12-19 15:25:13.611504", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.607067", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004415", "end": "2025-12-19 15:25:13.614767", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.610352", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004699", "end": "2025-12-19 15:25:13.629304", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.624605", "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.005135", "end": "2025-12-19 15:25:13.670687", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.665552", "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.005692", "end": "2025-12-19 15:25:13.678726", "msg": "", "rc": 0, "start": "2025-12-19 15:25:13.673034", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003731", "end": "2025-12-19 15:24:45.499105", "msg": "", "rc": 0, "start": "2025-12-19 15:24:45.495374", "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.004066", "end": "2025-12-19 15:24:38.365723", "msg": "", "rc": 0, "start": "2025-12-19 15:24:38.361657", "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.010903", "end": "2025-12-19 15:25:14.311351", "msg": "", "rc": 0, "start": "2025-12-19 15:25:14.300448", "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.012056", "end": "2025-12-19 15:25:14.352723", "msg": "", "rc": 0, "start": "2025-12-19 15:25:14.340667", "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.005723", "end": "2025-12-19 15:25:14.573141", "msg": "", "rc": 0, "start": "2025-12-19 15:25:14.567418", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004173", "end": "2025-12-19 15:24:41.531467", "msg": "", "rc": 0, "start": "2025-12-19 15:24:41.527294", "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.005151", "end": "2025-12-19 12:25:14.815368", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:25:14.810217", "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.004175", "end": "2025-12-19 15:24:48.851652", "msg": "", "rc": 0, "start": "2025-12-19 15:24:48.847477", "stderr": "", "stderr_lines": [], "stdout": "53.8%", "stdout_lines": ["53.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.005332", "end": "2025-12-19 15:25:15.009560", "msg": "", "rc": 0, "start": "2025-12-19 15:25:15.004228", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.011254", "end": "2025-12-19 15:25:16.341131", "msg": "", "rc": 0, "start": "2025-12-19 15:25:16.329877", "stderr": "", "stderr_lines": [], "stdout": "12.2%", "stdout_lines": ["12.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.025811", "end": "2025-12-19 15:25:14.999583", "msg": "", "rc": 0, "start": "2025-12-19 15:25:14.973772", "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.005396", "end": "2025-12-19 15:25:15.528051", "msg": "", "rc": 0, "start": "2025-12-19 15:25:15.522655", "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.005106", "end": "2025-12-19 15:25:15.540330", "msg": "", "rc": 0, "start": "2025-12-19 15:25:15.535224", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003218", "end": "2025-12-19 15:25:15.571802", "msg": "", "rc": 0, "start": "2025-12-19 15:25:15.568584", "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.005965", "end": "2025-12-19 15:25:15.584695", "msg": "", "rc": 0, "start": "2025-12-19 15:25:15.578730", "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.006463", "end": "2025-12-19 15:25:15.592780", "msg": "", "rc": 0, "start": "2025-12-19 15:25:15.586317", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002558", "end": "2025-12-19 15:24:47.430903", "msg": "", "rc": 0, "start": "2025-12-19 15:24:47.428345", "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.003404", "end": "2025-12-19 15:24:40.286572", "msg": "", "rc": 0, "start": "2025-12-19 15:24:40.283168", "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.011705", "end": "2025-12-19 15:25:16.226351", "msg": "", "rc": 0, "start": "2025-12-19 15:25:16.214646", "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.012820", "end": "2025-12-19 15:25:16.253272", "msg": "", "rc": 0, "start": "2025-12-19 15:25:16.240452", "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-19 15:25:16.497450", "msg": "", "rc": 0, "start": "2025-12-19 15:25:16.494309", "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.003130", "end": "2025-12-19 15:24:43.457983", "msg": "", "rc": 0, "start": "2025-12-19 15:24:43.454853", "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.002488", "end": "2025-12-19 15:24:50.715379", "msg": "", "rc": 0, "start": "2025-12-19 15:24:50.712891", "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.003925", "end": "2025-12-19 12:25:16.709302", "msg": "", "rc": 0, "start": "2025-12-19 12:25:16.705377", "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.002902", "end": "2025-12-19 15:25:16.910275", "msg": "", "rc": 0, "start": "2025-12-19 15:25:16.907373", "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.005136", "end": "2025-12-19 15:25:18.447868", "msg": "", "rc": 0, "start": "2025-12-19 15:25:18.442732", "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.028806", "end": "2025-12-19 15:25:16.918536", "msg": "", "rc": 0, "start": "2025-12-19 15:25:16.889730", "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.004175", "end": "2025-12-19 15:25:17.443988", "msg": "", "rc": 0, "start": "2025-12-19 15:25:17.439813", "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.004323", "end": "2025-12-19 15:25:17.455660", "msg": "", "rc": 0, "start": "2025-12-19 15:25:17.451337", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004977", "end": "2025-12-19 15:25:17.472371", "msg": "", "rc": 0, "start": "2025-12-19 15:25:17.467394", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.005261", "end": "2025-12-19 15:25:17.500486", "msg": "", "rc": 0, "start": "2025-12-19 15:25:17.495225", "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.005457", "end": "2025-12-19 15:25:17.521614", "msg": "", "rc": 0, "start": "2025-12-19 15:25:17.516157", "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.004707", "end": "2025-12-19 15:24:49.344143", "msg": "", "rc": 0, "start": "2025-12-19 15:24:49.339436", "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.005320", "end": "2025-12-19 15:24:42.238764", "msg": "", "rc": 0, "start": "2025-12-19 15:24:42.233444", "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.010068", "end": "2025-12-19 15:25:18.210912", "msg": "", "rc": 0, "start": "2025-12-19 15:25:18.200844", "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.011171", "end": "2025-12-19 15:25:18.247188", "msg": "", "rc": 0, "start": "2025-12-19 15:25:18.236017", "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.005825", "end": "2025-12-19 15:25:18.402450", "msg": "", "rc": 0, "start": "2025-12-19 15:25:18.396625", "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.005061", "end": "2025-12-19 15:24:45.450976", "msg": "", "rc": 0, "start": "2025-12-19 15:24:45.445915", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005795", "end": "2025-12-19 12:25:18.717933", "msg": "", "rc": 0, "start": "2025-12-19 12:25:18.712138", "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.004927", "end": "2025-12-19 15:24:52.748264", "msg": "", "rc": 0, "start": "2025-12-19 15:24:52.743337", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
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.005250", "end": "2025-12-19 15:25:18.825563", "msg": "", "rc": 0, "start": "2025-12-19 15:25:18.820313", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024325", "end": "2025-12-19 15:25:18.819542", "msg": "", "rc": 0, "start": "2025-12-19 15:25:18.795217", "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.009446", "end": "2025-12-19 15:25:20.639780", "msg": "", "rc": 0, "start": "2025-12-19 15:25:20.630334", "stderr": "", "stderr_lines": [], "stdout": "1.36", "stdout_lines": ["1.36"]}
TASK [Display health status] ***************************************************
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:09 up 24 days, 2:36, 1 user, load average: 0.53, 0.63, 0.74\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.45\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:09 up 6:09, 1 user, load average: 0.50, 0.19, 0.15\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.50\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:09 up 24 days, 2:16, 1 user, load average: 0.10, 0.07, 0.07\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.09\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:09 up 24 days, 3:49, 1 user, load average: 0.62, 0.63, 0.70\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.65\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:09 up 24 days, 4:35, 1 user, load average: 0.00, 0.03, 0.04\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: 15:25:11 up 17 days, 4:51, 1 user, load average: 0.26, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.30\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:10 up 196 days, 6:58, 1 user, load average: 0.19, 0.16, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.24\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:10 up 196 days, 6:58, 1 user, load average: 0.25, 0.16, 0.11\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: 15:24:41 up 13 days, 3:14, 0 user, load average: 0.02, 0.05, 0.08\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:34 up 19 days, 23:26, 0 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 25%\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: 15:25:10 up 6:08, 1 user, load average: 0.07, 0.06, 0.00\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:37 up 22 days, 18:18, 0 user, load average: 0.22, 0.40, 0.48\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:45 up 19 days, 4:40, 0 user, load average: 0.01, 0.16, 0.30\nDisk Usage: 76%\nMemory Usage: 53.8%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25PM up 24 days, 2:14, 1 user, load averages: 0.37, 0.27, 0.21\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:11 up 6:08, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 79%\nMemory Usage: 12.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:12 up 1:24, 1 user, load average: 1.14, 1.17, 1.16\nDisk Usage: 1%\nMemory Usage: 12.2%\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-19T20:25:21.560346+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d8c81148e76b4d7bbf4154dac8a27e44` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:30:00.002665+00:00 |
| **Fin** | 2025-12-19T20:30:24.266848+00:00 |
| **Durée** | 24.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003890", "end": "2025-12-19 15:30:11.506621", "msg": "", "rc": 0, "start": "2025-12-19 15:30:11.502731", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 24 days, 4:40, 1 user, load average: 0.00, 0.01, 0.02", "stdout_lines": [" 15:30:11 up 24 days, 4:40, 1 user, load average: 0.00, 0.01, 0.02"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003385", "end": "2025-12-19 15:30:11.509715", "msg": "", "rc": 0, "start": "2025-12-19 15:30:11.506330", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 24 days, 2:41, 1 user, load average: 0.45, 0.64, 0.72", "stdout_lines": [" 15:30:11 up 24 days, 2:41, 1 user, load average: 0.45, 0.64, 0.72"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003963", "end": "2025-12-19 15:30:11.526559", "msg": "", "rc": 0, "start": "2025-12-19 15:30:11.522596", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 24 days, 3:54, 1 user, load average: 0.96, 0.70, 0.71", "stdout_lines": [" 15:30:11 up 24 days, 3:54, 1 user, load average: 0.96, 0.70, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002866", "end": "2025-12-19 15:30:11.536786", "msg": "", "rc": 0, "start": "2025-12-19 15:30:11.533920", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 6:14, 2 users, load average: 0.48, 0.37, 0.24", "stdout_lines": [" 15:30:11 up 6:14, 2 users, load average: 0.48, 0.37, 0.24"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003051", "end": "2025-12-19 15:29:43.382728", "msg": "", "rc": 0, "start": "2025-12-19 15:29:43.379677", "stderr": "", "stderr_lines": [], "stdout": " 15:29:43 up 13 days, 3:19, 0 user, load average: 0.02, 0.03, 0.06", "stdout_lines": [" 15:29:43 up 13 days, 3:19, 0 user, load average: 0.02, 0.03, 0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008402", "end": "2025-12-19 15:30:12.193310", "msg": "", "rc": 0, "start": "2025-12-19 15:30:12.184908", "stderr": "", "stderr_lines": [], "stdout": " 15:30:12 up 196 days, 7:03, 1 user, load average: 0.15, 0.14, 0.10", "stdout_lines": [" 15:30:12 up 196 days, 7:03, 1 user, load average: 0.15, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009176", "end": "2025-12-19 15:30:12.227302", "msg": "", "rc": 0, "start": "2025-12-19 15:30:12.218126", "stderr": "", "stderr_lines": [], "stdout": " 15:30:12 up 196 days, 7:03, 1 user, load average: 0.30, 0.21, 0.19", "stdout_lines": [" 15:30:12 up 196 days, 7:03, 1 user, load average: 0.30, 0.21, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004348", "end": "2025-12-19 15:30:12.495017", "msg": "", "rc": 0, "start": "2025-12-19 15:30:11.490669", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 24 days, 2:21, 1 user, load average: 0.09, 0.07, 0.07", "stdout_lines": [" 15:30:11 up 24 days, 2:21, 1 user, load average: 0.09, 0.07, 0.07"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003368", "end": "2025-12-19 15:29:36.674307", "msg": "", "rc": 0, "start": "2025-12-19 15:29:36.670939", "stderr": "", "stderr_lines": [], "stdout": " 15:29:36 up 19 days, 23:31, 0 user, load average: 0.01, 0.01, 0.00", "stdout_lines": [" 15:29:36 up 19 days, 23:31, 0 user, load average: 0.01, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004444", "end": "2025-12-19 15:30:12.686559", "msg": "", "rc": 0, "start": "2025-12-19 15:30:12.682115", "stderr": "", "stderr_lines": [], "stdout": " 15:30:12 up 6:13, 1 user, load average: 0.10, 0.10, 0.03", "stdout_lines": [" 15:30:12 up 6:13, 1 user, load average: 0.10, 0.10, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003350", "end": "2025-12-19 15:29:39.581843", "msg": "", "rc": 0, "start": "2025-12-19 15:29:39.578493", "stderr": "", "stderr_lines": [], "stdout": " 15:29:39 up 22 days, 18:23, 0 user, load average: 0.30, 0.35, 0.44", "stdout_lines": [" 15:29:39 up 22 days, 18:23, 0 user, load average: 0.30, 0.35, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003688", "end": "2025-12-19 15:29:46.943243", "msg": "", "rc": 0, "start": "2025-12-19 15:29:46.939555", "stderr": "", "stderr_lines": [], "stdout": " 15:29:46 up 19 days, 4:45, 0 user, load average: 0.12, 0.19, 0.27", "stdout_lines": [" 15:29:46 up 19 days, 4:45, 0 user, load average: 0.12, 0.19, 0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004223", "end": "2025-12-19 12:30:12.951143", "msg": "", "rc": 0, "start": "2025-12-19 12:30:12.946920", "stderr": "", "stderr_lines": [], "stdout": "12:30PM up 24 days, 2:20, 1 user, load averages: 0.14, 0.20, 0.19", "stdout_lines": ["12:30PM up 24 days, 2:20, 1 user, load averages: 0.14, 0.20, 0.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019453", "end": "2025-12-19 15:30:12.894698", "msg": "", "rc": 0, "start": "2025-12-19 15:30:12.875245", "stderr": "", "stderr_lines": [], "stdout": " 15:30:12 up 17 days, 4:56, 1 user, load average: 0.19, 0.12, 0.10", "stdout_lines": [" 15:30:12 up 17 days, 4:56, 1 user, load average: 0.19, 0.12, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010205", "end": "2025-12-19 15:30:14.811379", "msg": "", "rc": 0, "start": "2025-12-19 15:30:14.801174", "stderr": "", "stderr_lines": [], "stdout": " 15:30:14 up 1:29, 1 user, load average: 1.14, 1.14, 1.15", "stdout_lines": [" 15:30:14 up 1:29, 1 user, load average: 1.14, 1.14, 1.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003681", "end": "2025-12-19 15:30:13.120007", "msg": "", "rc": 0, "start": "2025-12-19 15:30:13.116326", "stderr": "", "stderr_lines": [], "stdout": " 15:30:13 up 6:13, 1 user, load average: 0.14, 0.07, 0.01", "stdout_lines": [" 15:30:13 up 6:13, 1 user, load average: 0.14, 0.07, 0.01"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004224", "end": "2025-12-19 15:30:13.525043", "msg": "", "rc": 0, "start": "2025-12-19 15:30:13.520819", "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.004110", "end": "2025-12-19 15:30:13.537783", "msg": "", "rc": 0, "start": "2025-12-19 15:30:13.533673", "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.004819", "end": "2025-12-19 15:30:13.553022", "msg": "", "rc": 0, "start": "2025-12-19 15:30:13.548203", "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.004863", "end": "2025-12-19 15:30:13.569207", "msg": "", "rc": 0, "start": "2025-12-19 15:30:13.564344", "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.005843", "end": "2025-12-19 15:30:13.587595", "msg": "", "rc": 0, "start": "2025-12-19 15:30:13.581752", "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.005082", "end": "2025-12-19 15:29:45.439425", "msg": "", "rc": 0, "start": "2025-12-19 15:29:45.434343", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005380", "end": "2025-12-19 15:29:38.301452", "msg": "", "rc": 0, "start": "2025-12-19 15:29:38.296072", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010494", "end": "2025-12-19 15:30:14.294478", "msg": "", "rc": 0, "start": "2025-12-19 15:30:14.283984", "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.011674", "end": "2025-12-19 15:30:14.307162", "msg": "", "rc": 0, "start": "2025-12-19 15:30:14.295488", "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.005604", "end": "2025-12-19 15:30:14.533317", "msg": "", "rc": 0, "start": "2025-12-19 15:30:14.527713", "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.005400", "end": "2025-12-19 15:29:41.471966", "msg": "", "rc": 0, "start": "2025-12-19 15:29:41.466566", "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.005423", "end": "2025-12-19 12:30:14.762156", "msg": "", "rc": 0, "start": "2025-12-19 12:30:14.756733", "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.005806", "end": "2025-12-19 15:29:48.794670", "msg": "", "rc": 0, "start": "2025-12-19 15:29:48.788864", "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.005559", "end": "2025-12-19 15:30:14.970169", "msg": "", "rc": 0, "start": "2025-12-19 15:30:14.964610", "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.025391", "end": "2025-12-19 15:30:14.923302", "msg": "", "rc": 0, "start": "2025-12-19 15:30:14.897911", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023118", "end": "2025-12-19 15:30:16.980269", "msg": "", "rc": 0, "start": "2025-12-19 15:30:16.957151", "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.004316", "end": "2025-12-19 15:30:15.470802", "msg": "", "rc": 0, "start": "2025-12-19 15:30:15.466486", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004119", "end": "2025-12-19 15:30:15.495293", "msg": "", "rc": 0, "start": "2025-12-19 15:30:15.491174", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004914", "end": "2025-12-19 15:30:15.504223", "msg": "", "rc": 0, "start": "2025-12-19 15:30:15.499309", "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.004487", "end": "2025-12-19 15:30:15.525605", "msg": "", "rc": 0, "start": "2025-12-19 15:30:15.521118", "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.005472", "end": "2025-12-19 15:30:15.521959", "msg": "", "rc": 0, "start": "2025-12-19 15:30:15.516487", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003551", "end": "2025-12-19 15:29:47.357711", "msg": "", "rc": 0, "start": "2025-12-19 15:29:47.354160", "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.004416", "end": "2025-12-19 15:29:40.240437", "msg": "", "rc": 0, "start": "2025-12-19 15:29:40.236021", "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.010954", "end": "2025-12-19 15:30:16.191225", "msg": "", "rc": 0, "start": "2025-12-19 15:30:16.180271", "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.012021", "end": "2025-12-19 15:30:16.224436", "msg": "", "rc": 0, "start": "2025-12-19 15:30:16.212415", "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.005738", "end": "2025-12-19 15:30:16.444902", "msg": "", "rc": 0, "start": "2025-12-19 15:30:16.439164", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004465", "end": "2025-12-19 15:29:43.436884", "msg": "", "rc": 0, "start": "2025-12-19 15:29:43.432419", "stderr": "", "stderr_lines": [], "stdout": "28.0%", "stdout_lines": ["28.0%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004210", "end": "2025-12-19 15:29:50.687394", "msg": "", "rc": 0, "start": "2025-12-19 15:29:50.683184", "stderr": "", "stderr_lines": [], "stdout": "55.1%", "stdout_lines": ["55.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.005188", "end": "2025-12-19 12:30:16.690028", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:30:16.684840", "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.005322", "end": "2025-12-19 15:30:16.865326", "msg": "", "rc": 0, "start": "2025-12-19 15:30:16.860004", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.010439", "end": "2025-12-19 15:30:19.055093", "msg": "", "rc": 0, "start": "2025-12-19 15:30:19.044654", "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.025441", "end": "2025-12-19 15:30:16.874028", "msg": "", "rc": 0, "start": "2025-12-19 15:30:16.848587", "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.005406", "end": "2025-12-19 15:30:17.399952", "msg": "", "rc": 0, "start": "2025-12-19 15:30:17.394546", "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.004761", "end": "2025-12-19 15:30:17.434736", "msg": "", "rc": 0, "start": "2025-12-19 15:30:17.429975", "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.005619", "end": "2025-12-19 15:30:17.450379", "msg": "", "rc": 0, "start": "2025-12-19 15:30:17.444760", "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-19 15:30:17.462305", "msg": "", "rc": 0, "start": "2025-12-19 15:30:17.459097", "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.006800", "end": "2025-12-19 15:30:17.480227", "msg": "", "rc": 0, "start": "2025-12-19 15:30:17.473427", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002408", "end": "2025-12-19 15:29:49.321367", "msg": "", "rc": 0, "start": "2025-12-19 15:29:49.318959", "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.002989", "end": "2025-12-19 15:29:42.174393", "msg": "", "rc": 0, "start": "2025-12-19 15:29:42.171404", "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.011961", "end": "2025-12-19 15:30:18.116613", "msg": "", "rc": 0, "start": "2025-12-19 15:30:18.104652", "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.013160", "end": "2025-12-19 15:30:18.154073", "msg": "", "rc": 0, "start": "2025-12-19 15:30:18.140913", "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.003181", "end": "2025-12-19 15:30:18.377070", "msg": "", "rc": 0, "start": "2025-12-19 15:30:18.373889", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002960", "end": "2025-12-19 15:29:45.334244", "msg": "", "rc": 0, "start": "2025-12-19 15:29:45.331284", "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.002609", "end": "2025-12-19 15:29:52.590797", "msg": "", "rc": 0, "start": "2025-12-19 15:29:52.588188", "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.004195", "end": "2025-12-19 12:30:18.612976", "msg": "", "rc": 0, "start": "2025-12-19 12:30:18.608781", "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.003429", "end": "2025-12-19 15:30:18.817866", "msg": "", "rc": 0, "start": "2025-12-19 15:30:18.814437", "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.004920", "end": "2025-12-19 15:30:21.129793", "msg": "", "rc": 0, "start": "2025-12-19 15:30:21.124873", "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.028606", "end": "2025-12-19 15:30:18.780141", "msg": "", "rc": 0, "start": "2025-12-19 15:30:18.751535", "stderr": "", "stderr_lines": [], "stdout": "35.8°C", "stdout_lines": ["35.8°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.003974", "end": "2025-12-19 15:30:19.313068", "msg": "", "rc": 0, "start": "2025-12-19 15:30:19.309094", "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.004444", "end": "2025-12-19 15:30:19.326674", "msg": "", "rc": 0, "start": "2025-12-19 15:30:19.322230", "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.004612", "end": "2025-12-19 15:30:19.344424", "msg": "", "rc": 0, "start": "2025-12-19 15:30:19.339812", "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.005125", "end": "2025-12-19 15:30:19.370020", "msg": "", "rc": 0, "start": "2025-12-19 15:30:19.364895", "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.005490", "end": "2025-12-19 15:30:19.397266", "msg": "", "rc": 0, "start": "2025-12-19 15:30:19.391776", "stderr": "", "stderr_lines": [], "stdout": "0.97", "stdout_lines": ["0.97"]}
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.004190", "end": "2025-12-19 15:29:51.217429", "msg": "", "rc": 0, "start": "2025-12-19 15:29:51.213239", "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.005360", "end": "2025-12-19 15:29:44.117017", "msg": "", "rc": 0, "start": "2025-12-19 15:29:44.111657", "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.010178", "end": "2025-12-19 15:30:20.080373", "msg": "", "rc": 0, "start": "2025-12-19 15:30:20.070195", "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.011202", "end": "2025-12-19 15:30:20.104968", "msg": "", "rc": 0, "start": "2025-12-19 15:30:20.093766", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005845", "end": "2025-12-19 15:30:20.286563", "msg": "", "rc": 0, "start": "2025-12-19 15:30:20.280718", "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.005226", "end": "2025-12-19 15:29:47.309466", "msg": "", "rc": 0, "start": "2025-12-19 15:29:47.304240", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005844", "end": "2025-12-19 12:30:20.551266", "msg": "", "rc": 0, "start": "2025-12-19 12:30:20.545422", "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.004637", "end": "2025-12-19 15:29:54.566529", "msg": "", "rc": 0, "start": "2025-12-19 15:29:54.561892", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005302", "end": "2025-12-19 15:30:20.693735", "msg": "", "rc": 0, "start": "2025-12-19 15:30:20.688433", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.024143", "end": "2025-12-19 15:30:20.697063", "msg": "", "rc": 0, "start": "2025-12-19 15:30:20.672920", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
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.009985", "end": "2025-12-19 15:30:23.384054", "msg": "", "rc": 0, "start": "2025-12-19 15:30:23.374069", "stderr": "", "stderr_lines": [], "stdout": "1.42", "stdout_lines": ["1.42"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 24 days, 2:21, 1 user, load average: 0.09, 0.07, 0.07\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 24 days, 2:41, 1 user, load average: 0.45, 0.64, 0.72\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.42\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 6:14, 2 users, load average: 0.48, 0.37, 0.24\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.48\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 24 days, 3:54, 1 user, load average: 0.96, 0.70, 0.71\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.97\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 24 days, 4:40, 1 user, load average: 0.00, 0.01, 0.02\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: 15:30:12 up 17 days, 4:56, 1 user, load average: 0.19, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.25\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:12 up 196 days, 7:03, 1 user, load average: 0.30, 0.21, 0.19\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.35\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:12 up 196 days, 7:03, 1 user, load average: 0.15, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.14\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:43 up 13 days, 3:19, 0 user, load average: 0.02, 0.03, 0.06\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:36 up 19 days, 23:31, 0 user, load average: 0.01, 0.01, 0.00\nDisk Usage: 25%\nMemory Usage: 64.9%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:12 up 6:13, 1 user, load average: 0.10, 0.10, 0.03\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:39 up 22 days, 18:23, 0 user, load average: 0.30, 0.35, 0.44\nDisk Usage: 28%\nMemory Usage: 28.0%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:46 up 19 days, 4:45, 0 user, load average: 0.12, 0.19, 0.27\nDisk Usage: 76%\nMemory Usage: 55.1%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30PM up 24 days, 2:20, 1 user, load averages: 0.14, 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: 15:30:13 up 6:13, 1 user, load average: 0.14, 0.07, 0.01\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:14 up 1:29, 1 user, load average: 1.14, 1.14, 1.15\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T20:30:24.311811+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `cc2f166fa14345b89dc9cceb7974b878` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:35:00.009432+00:00 |
| **Fin** | 2025-12-19T20:35:20.739937+00:00 |
| **Durée** | 20.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: [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.003277", "end": "2025-12-19 15:35:10.807590", "msg": "", "rc": 0, "start": "2025-12-19 15:35:10.804313", "stderr": "", "stderr_lines": [], "stdout": " 15:35:10 up 24 days, 2:26, 1 user, load average: 0.06, 0.06, 0.06", "stdout_lines": [" 15:35:10 up 24 days, 2:26, 1 user, load average: 0.06, 0.06, 0.06"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003863", "end": "2025-12-19 15:35:10.815880", "msg": "", "rc": 0, "start": "2025-12-19 15:35:10.812017", "stderr": "", "stderr_lines": [], "stdout": " 15:35:10 up 24 days, 4:45, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 15:35:10 up 24 days, 4:45, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003503", "end": "2025-12-19 15:35:10.811669", "msg": "", "rc": 0, "start": "2025-12-19 15:35:10.808166", "stderr": "", "stderr_lines": [], "stdout": " 15:35:10 up 24 days, 2:46, 1 user, load average: 0.65, 0.66, 0.71", "stdout_lines": [" 15:35:10 up 24 days, 2:46, 1 user, load average: 0.65, 0.66, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002877", "end": "2025-12-19 15:35:10.851683", "msg": "", "rc": 0, "start": "2025-12-19 15:35:10.848806", "stderr": "", "stderr_lines": [], "stdout": " 15:35:10 up 6:19, 1 user, load average: 0.95, 0.69, 0.41", "stdout_lines": [" 15:35:10 up 6:19, 1 user, load average: 0.95, 0.69, 0.41"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004138", "end": "2025-12-19 15:35:10.838501", "msg": "", "rc": 0, "start": "2025-12-19 15:35:10.834363", "stderr": "", "stderr_lines": [], "stdout": " 15:35:10 up 24 days, 3:59, 1 user, load average: 0.41, 0.60, 0.67", "stdout_lines": [" 15:35:10 up 24 days, 3:59, 1 user, load average: 0.41, 0.60, 0.67"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002796", "end": "2025-12-19 15:34:42.672699", "msg": "", "rc": 0, "start": "2025-12-19 15:34:42.669903", "stderr": "", "stderr_lines": [], "stdout": " 15:34:42 up 13 days, 3:24, 0 user, load average: 0.07, 0.08, 0.08", "stdout_lines": [" 15:34:42 up 13 days, 3:24, 0 user, load average: 0.07, 0.08, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003440", "end": "2025-12-19 15:34:35.531260", "msg": "", "rc": 0, "start": "2025-12-19 15:34:35.527820", "stderr": "", "stderr_lines": [], "stdout": " 15:34:35 up 19 days, 23:36, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 15:34:35 up 19 days, 23:36, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008462", "end": "2025-12-19 15:35:11.476875", "msg": "", "rc": 0, "start": "2025-12-19 15:35:11.468413", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 196 days, 7:08, 1 user, load average: 0.14, 0.15, 0.11", "stdout_lines": [" 15:35:11 up 196 days, 7:08, 1 user, load average: 0.14, 0.15, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009287", "end": "2025-12-19 15:35:11.541255", "msg": "", "rc": 0, "start": "2025-12-19 15:35:11.531968", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 196 days, 7:08, 1 user, load average: 0.20, 0.18, 0.18", "stdout_lines": [" 15:35:11 up 196 days, 7:08, 1 user, load average: 0.20, 0.18, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004480", "end": "2025-12-19 15:35:11.765983", "msg": "", "rc": 0, "start": "2025-12-19 15:35:11.761503", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 6:18, 1 user, load average: 0.04, 0.04, 0.01", "stdout_lines": [" 15:35:11 up 6:18, 1 user, load average: 0.04, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003589", "end": "2025-12-19 15:34:38.727307", "msg": "", "rc": 0, "start": "2025-12-19 15:34:38.723718", "stderr": "", "stderr_lines": [], "stdout": " 15:34:38 up 22 days, 18:28, 0 user, load average: 1.50, 0.75, 0.56", "stdout_lines": [" 15:34:38 up 22 days, 18:28, 0 user, load average: 1.50, 0.75, 0.56"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003672", "end": "2025-12-19 15:34:45.964743", "msg": "", "rc": 0, "start": "2025-12-19 15:34:45.961071", "stderr": "", "stderr_lines": [], "stdout": " 15:34:45 up 19 days, 4:50, 0 user, load average: 0.08, 0.19, 0.25", "stdout_lines": [" 15:34:45 up 19 days, 4:50, 0 user, load average: 0.08, 0.19, 0.25"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004235", "end": "2025-12-19 12:35:11.997436", "msg": "", "rc": 0, "start": "2025-12-19 12:35:11.993201", "stderr": "", "stderr_lines": [], "stdout": "12:35PM up 24 days, 2:24, 1 user, load averages: 0.45, 0.36, 0.26", "stdout_lines": ["12:35PM up 24 days, 2:24, 1 user, load averages: 0.45, 0.36, 0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003870", "end": "2025-12-19 15:35:12.198221", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.194351", "stderr": "", "stderr_lines": [], "stdout": " 15:35:12 up 6:18, 1 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 15:35:12 up 6:18, 1 user, load average: 0.08, 0.03, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008376", "end": "2025-12-19 15:35:14.458650", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.450274", "stderr": "", "stderr_lines": [], "stdout": " 15:35:14 up 1:35, 1 user, load average: 1.07, 1.14, 1.16", "stdout_lines": [" 15:35:14 up 1:35, 1 user, load average: 1.07, 1.14, 1.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019424", "end": "2025-12-19 15:35:12.187557", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.168133", "stderr": "", "stderr_lines": [], "stdout": " 15:35:12 up 17 days, 5:01, 1 user, load average: 0.39, 0.19, 0.11", "stdout_lines": [" 15:35:12 up 17 days, 5:01, 1 user, load average: 0.39, 0.19, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004189", "end": "2025-12-19 15:35:12.698146", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.693957", "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.004192", "end": "2025-12-19 15:35:12.720753", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.716561", "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.004710", "end": "2025-12-19 15:35:12.719803", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.715093", "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.005024", "end": "2025-12-19 15:35:12.748584", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.743560", "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.005583", "end": "2025-12-19 15:35:12.761752", "msg": "", "rc": 0, "start": "2025-12-19 15:35:12.756169", "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.004763", "end": "2025-12-19 15:34:44.612795", "msg": "", "rc": 0, "start": "2025-12-19 15:34:44.608032", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005408", "end": "2025-12-19 15:34:37.445747", "msg": "", "rc": 0, "start": "2025-12-19 15:34:37.440339", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010668", "end": "2025-12-19 15:35:13.438231", "msg": "", "rc": 0, "start": "2025-12-19 15:35:13.427563", "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.011534", "end": "2025-12-19 15:35:13.484263", "msg": "", "rc": 0, "start": "2025-12-19 15:35:13.472729", "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.005710", "end": "2025-12-19 15:35:13.685903", "msg": "", "rc": 0, "start": "2025-12-19 15:35:13.680193", "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.005492", "end": "2025-12-19 15:34:40.616596", "msg": "", "rc": 0, "start": "2025-12-19 15:34:40.611104", "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.004625", "end": "2025-12-19 15:34:47.924444", "msg": "", "rc": 0, "start": "2025-12-19 15:34:47.919819", "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.005533", "end": "2025-12-19 12:35:13.939965", "msg": "", "rc": 0, "start": "2025-12-19 12:35:13.934432", "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.005300", "end": "2025-12-19 15:35:14.102244", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.096944", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021496", "end": "2025-12-19 15:35:16.551982", "msg": "", "rc": 0, "start": "2025-12-19 15:35:16.530486", "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.025144", "end": "2025-12-19 15:35:14.097223", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.072079", "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.004288", "end": "2025-12-19 15:35:14.597547", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.593259", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004272", "end": "2025-12-19 15:35:14.649381", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.645109", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004698", "end": "2025-12-19 15:35:14.649373", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.644675", "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.004979", "end": "2025-12-19 15:35:14.662559", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.657580", "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.005884", "end": "2025-12-19 15:35:14.673067", "msg": "", "rc": 0, "start": "2025-12-19 15:35:14.667183", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003826", "end": "2025-12-19 15:34:46.524180", "msg": "", "rc": 0, "start": "2025-12-19 15:34:46.520354", "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.004690", "end": "2025-12-19 15:34:39.334125", "msg": "", "rc": 0, "start": "2025-12-19 15:34:39.329435", "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.011024", "end": "2025-12-19 15:35:15.329209", "msg": "", "rc": 0, "start": "2025-12-19 15:35:15.318185", "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.011848", "end": "2025-12-19 15:35:15.359730", "msg": "", "rc": 0, "start": "2025-12-19 15:35:15.347882", "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.005753", "end": "2025-12-19 15:35:15.581118", "msg": "", "rc": 0, "start": "2025-12-19 15:35:15.575365", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004056", "end": "2025-12-19 15:34:42.492645", "msg": "", "rc": 0, "start": "2025-12-19 15:34:42.488589", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004950", "end": "2025-12-19 15:34:49.823442", "msg": "", "rc": 0, "start": "2025-12-19 15:34:49.818492", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.005373", "end": "2025-12-19 12:35:15.832219", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:35:15.826846", "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.005309", "end": "2025-12-19 15:35:15.996470", "msg": "", "rc": 0, "start": "2025-12-19 15:35:15.991161", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.010973", "end": "2025-12-19 15:35:18.600404", "msg": "", "rc": 0, "start": "2025-12-19 15:35:18.589431", "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.025749", "end": "2025-12-19 15:35:15.969963", "msg": "", "rc": 0, "start": "2025-12-19 15:35:15.944214", "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.005240", "end": "2025-12-19 15:35:16.492220", "msg": "", "rc": 0, "start": "2025-12-19 15:35:16.486980", "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.005711", "end": "2025-12-19 15:35:16.516806", "msg": "", "rc": 0, "start": "2025-12-19 15:35:16.511095", "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.004816", "end": "2025-12-19 15:35:16.510871", "msg": "", "rc": 0, "start": "2025-12-19 15:35:16.506055", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003274", "end": "2025-12-19 15:35:16.546858", "msg": "", "rc": 0, "start": "2025-12-19 15:35:16.543584", "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.006422", "end": "2025-12-19 15:35:16.558095", "msg": "", "rc": 0, "start": "2025-12-19 15:35:16.551673", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002746", "end": "2025-12-19 15:34:48.393150", "msg": "", "rc": 0, "start": "2025-12-19 15:34:48.390404", "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.003279", "end": "2025-12-19 15:34:41.228794", "msg": "", "rc": 0, "start": "2025-12-19 15:34:41.225515", "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.011949", "end": "2025-12-19 15:35:17.188322", "msg": "", "rc": 0, "start": "2025-12-19 15:35:17.176373", "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.012945", "end": "2025-12-19 15:35:17.243234", "msg": "", "rc": 0, "start": "2025-12-19 15:35:17.230289", "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.003149", "end": "2025-12-19 15:35:17.462968", "msg": "", "rc": 0, "start": "2025-12-19 15:35:17.459819", "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.002910", "end": "2025-12-19 15:34:44.399308", "msg": "", "rc": 0, "start": "2025-12-19 15:34:44.396398", "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.002547", "end": "2025-12-19 15:34:51.668241", "msg": "", "rc": 0, "start": "2025-12-19 15:34:51.665694", "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.004119", "end": "2025-12-19 12:35:17.698810", "msg": "", "rc": 0, "start": "2025-12-19 12:35:17.694691", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002928", "end": "2025-12-19 15:35:17.877666", "msg": "", "rc": 0, "start": "2025-12-19 15:35:17.874738", "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.006298", "end": "2025-12-19 15:35:20.680203", "msg": "", "rc": 0, "start": "2025-12-19 15:35:20.673905", "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-19 15:35:17.893898", "msg": "", "rc": 0, "start": "2025-12-19 15:35:17.864994", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004175", "end": "2025-12-19 15:35:18.410767", "msg": "", "rc": 0, "start": "2025-12-19 15:35:18.406592", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005046", "end": "2025-12-19 15:35:18.440781", "msg": "", "rc": 0, "start": "2025-12-19 15:35:18.435735", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
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.004147", "end": "2025-12-19 15:35:18.440147", "msg": "", "rc": 0, "start": "2025-12-19 15:35:18.436000", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005066", "end": "2025-12-19 15:35:18.462430", "msg": "", "rc": 0, "start": "2025-12-19 15:35:18.457364", "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.006527", "end": "2025-12-19 15:35:18.487904", "msg": "", "rc": 0, "start": "2025-12-19 15:35:18.481377", "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.004518", "end": "2025-12-19 15:34:50.323662", "msg": "", "rc": 0, "start": "2025-12-19 15:34:50.319144", "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.007073", "end": "2025-12-19 15:34:43.182081", "msg": "", "rc": 0, "start": "2025-12-19 15:34:43.175008", "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.010129", "end": "2025-12-19 15:35:19.215495", "msg": "", "rc": 0, "start": "2025-12-19 15:35:19.205366", "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.011348", "end": "2025-12-19 15:35:19.228953", "msg": "", "rc": 0, "start": "2025-12-19 15:35:19.217605", "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.005463", "end": "2025-12-19 15:35:19.398864", "msg": "", "rc": 0, "start": "2025-12-19 15:35:19.393401", "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.005014", "end": "2025-12-19 15:34:46.362615", "msg": "", "rc": 0, "start": "2025-12-19 15:34:46.357601", "stderr": "", "stderr_lines": [], "stdout": "1.38", "stdout_lines": ["1.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.007085", "end": "2025-12-19 12:35:19.702717", "msg": "", "rc": 0, "start": "2025-12-19 12:35:19.695632", "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.004349", "end": "2025-12-19 15:34:53.722559", "msg": "", "rc": 0, "start": "2025-12-19 15:34:53.718210", "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.006946", "end": "2025-12-19 15:35:19.811823", "msg": "", "rc": 0, "start": "2025-12-19 15:35:19.804877", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007148", "end": "2025-12-19 15:35:19.914986", "msg": "", "rc": 0, "start": "2025-12-19 15:35:19.907838", "stderr": "", "stderr_lines": [], "stdout": "1.28", "stdout_lines": ["1.28"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.023957", "end": "2025-12-19 15:35:19.792303", "msg": "", "rc": 0, "start": "2025-12-19 15:35:19.768346", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:10 up 24 days, 2:26, 1 user, load average: 0.06, 0.06, 0.06\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.13\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:10 up 6:19, 1 user, load average: 0.95, 0.69, 0.41\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.87\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:10 up 24 days, 2:46, 1 user, load average: 0.65, 0.66, 0.71\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.68\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:10 up 24 days, 3:59, 1 user, load average: 0.41, 0.60, 0.67\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.46\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:10 up 24 days, 4:45, 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: 15:35:12 up 17 days, 5:01, 1 user, load average: 0.39, 0.19, 0.11\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.36\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 196 days, 7:08, 1 user, load average: 0.20, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.24\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 196 days, 7:08, 1 user, load average: 0.14, 0.15, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.12\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:42 up 13 days, 3:24, 0 user, load average: 0.07, 0.08, 0.08\nDisk Usage: 50%\nMemory Usage: 71.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:35 up 19 days, 23:36, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 6:18, 1 user, load average: 0.04, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:38 up 22 days, 18:28, 0 user, load average: 1.50, 0.75, 0.56\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 1.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:45 up 19 days, 4:50, 0 user, load average: 0.08, 0.19, 0.25\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35PM up 24 days, 2:24, 1 user, load averages: 0.45, 0.36, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:12 up 6:18, 1 user, load average: 0.08, 0.03, 0.01\nDisk Usage: 79%\nMemory Usage: 12.9%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:14 up 1:35, 1 user, load average: 1.07, 1.14, 1.16\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T20:35:20.789372+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9bbd2867e1274663a487571d4b806293` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:40:00.008371+00:00 |
| **Fin** | 2025-12-19T20:40:21.246655+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: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [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.003335", "end": "2025-12-19 15:40:10.570435", "msg": "", "rc": 0, "start": "2025-12-19 15:40:10.567100", "stderr": "", "stderr_lines": [], "stdout": " 15:40:10 up 24 days, 2:31, 1 user, load average: 0.13, 0.08, 0.07", "stdout_lines": [" 15:40:10 up 24 days, 2:31, 1 user, load average: 0.13, 0.08, 0.07"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003702", "end": "2025-12-19 15:40:10.581557", "msg": "", "rc": 0, "start": "2025-12-19 15:40:10.577855", "stderr": "", "stderr_lines": [], "stdout": " 15:40:10 up 24 days, 4:50, 1 user, load average: 0.01, 0.03, 0.00", "stdout_lines": [" 15:40:10 up 24 days, 4:50, 1 user, load average: 0.01, 0.03, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003321", "end": "2025-12-19 15:40:10.574969", "msg": "", "rc": 0, "start": "2025-12-19 15:40:10.571648", "stderr": "", "stderr_lines": [], "stdout": " 15:40:10 up 24 days, 2:51, 1 user, load average: 0.80, 0.64, 0.68", "stdout_lines": [" 15:40:10 up 24 days, 2:51, 1 user, load average: 0.80, 0.64, 0.68"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002846", "end": "2025-12-19 15:40:10.607038", "msg": "", "rc": 0, "start": "2025-12-19 15:40:10.604192", "stderr": "", "stderr_lines": [], "stdout": " 15:40:10 up 6:24, 1 user, load average: 1.12, 0.86, 0.56", "stdout_lines": [" 15:40:10 up 6:24, 1 user, load average: 1.12, 0.86, 0.56"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004027", "end": "2025-12-19 15:40:10.599136", "msg": "", "rc": 0, "start": "2025-12-19 15:40:10.595109", "stderr": "", "stderr_lines": [], "stdout": " 15:40:10 up 24 days, 4:04, 1 user, load average: 0.83, 0.69, 0.68", "stdout_lines": [" 15:40:10 up 24 days, 4:04, 1 user, load average: 0.83, 0.69, 0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002867", "end": "2025-12-19 15:39:42.443295", "msg": "", "rc": 0, "start": "2025-12-19 15:39:42.440428", "stderr": "", "stderr_lines": [], "stdout": " 15:39:42 up 13 days, 3:29, 0 user, load average: 0.25, 0.10, 0.09", "stdout_lines": [" 15:39:42 up 13 days, 3:29, 0 user, load average: 0.25, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003463", "end": "2025-12-19 15:39:35.286981", "msg": "", "rc": 0, "start": "2025-12-19 15:39:35.283518", "stderr": "", "stderr_lines": [], "stdout": " 15:39:35 up 19 days, 23:41, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 15:39:35 up 19 days, 23:41, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008301", "end": "2025-12-19 15:40:11.252591", "msg": "", "rc": 0, "start": "2025-12-19 15:40:11.244290", "stderr": "", "stderr_lines": [], "stdout": " 15:40:11 up 196 days, 7:13, 1 user, load average: 0.14, 0.12, 0.09", "stdout_lines": [" 15:40:11 up 196 days, 7:13, 1 user, load average: 0.14, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009361", "end": "2025-12-19 15:40:11.303909", "msg": "", "rc": 0, "start": "2025-12-19 15:40:11.294548", "stderr": "", "stderr_lines": [], "stdout": " 15:40:11 up 196 days, 7:13, 1 user, load average: 0.15, 0.15, 0.17", "stdout_lines": [" 15:40:11 up 196 days, 7:13, 1 user, load average: 0.15, 0.15, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004509", "end": "2025-12-19 15:40:11.519214", "msg": "", "rc": 0, "start": "2025-12-19 15:40:11.514705", "stderr": "", "stderr_lines": [], "stdout": " 15:40:11 up 6:23, 1 user, load average: 0.04, 0.05, 0.01", "stdout_lines": [" 15:40:11 up 6:23, 1 user, load average: 0.04, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003376", "end": "2025-12-19 15:39:38.454102", "msg": "", "rc": 0, "start": "2025-12-19 15:39:38.450726", "stderr": "", "stderr_lines": [], "stdout": " 15:39:38 up 22 days, 18:33, 0 user, load average: 0.42, 0.49, 0.49", "stdout_lines": [" 15:39:38 up 22 days, 18:33, 0 user, load average: 0.42, 0.49, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005232", "end": "2025-12-19 15:39:45.757418", "msg": "", "rc": 0, "start": "2025-12-19 15:39:45.752186", "stderr": "", "stderr_lines": [], "stdout": " 15:39:45 up 19 days, 4:55, 0 user, load average: 0.41, 0.27, 0.26", "stdout_lines": [" 15:39:45 up 19 days, 4:55, 0 user, load average: 0.41, 0.27, 0.26"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004206", "end": "2025-12-19 12:40:11.770777", "msg": "", "rc": 0, "start": "2025-12-19 12:40:11.766571", "stderr": "", "stderr_lines": [], "stdout": "12:40PM up 24 days, 2:29, 1 user, load averages: 0.29, 0.36, 0.28", "stdout_lines": ["12:40PM up 24 days, 2:29, 1 user, load averages: 0.29, 0.36, 0.28"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003640", "end": "2025-12-19 15:40:11.948908", "msg": "", "rc": 0, "start": "2025-12-19 15:40:11.945268", "stderr": "", "stderr_lines": [], "stdout": " 15:40:11 up 6:23, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 15:40:11 up 6:23, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009385", "end": "2025-12-19 15:40:14.854318", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.844933", "stderr": "", "stderr_lines": [], "stdout": " 15:40:14 up 1:40, 1 user, load average: 1.41, 1.16, 1.15", "stdout_lines": [" 15:40:14 up 1:40, 1 user, load average: 1.41, 1.16, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019330", "end": "2025-12-19 15:40:11.961378", "msg": "", "rc": 0, "start": "2025-12-19 15:40:11.942048", "stderr": "", "stderr_lines": [], "stdout": " 15:40:11 up 17 days, 5:06, 1 user, load average: 0.15, 0.12, 0.09", "stdout_lines": [" 15:40:11 up 17 days, 5:06, 1 user, load average: 0.15, 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.004236", "end": "2025-12-19 15:40:12.476501", "msg": "", "rc": 0, "start": "2025-12-19 15:40:12.472265", "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.004058", "end": "2025-12-19 15:40:12.499807", "msg": "", "rc": 0, "start": "2025-12-19 15:40:12.495749", "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-19 15:40:12.510448", "msg": "", "rc": 0, "start": "2025-12-19 15:40:12.505751", "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.004816", "end": "2025-12-19 15:40:12.536084", "msg": "", "rc": 0, "start": "2025-12-19 15:40:12.531268", "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.005331", "end": "2025-12-19 15:40:12.554265", "msg": "", "rc": 0, "start": "2025-12-19 15:40:12.548934", "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.005104", "end": "2025-12-19 15:39:44.367648", "msg": "", "rc": 0, "start": "2025-12-19 15:39:44.362544", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005291", "end": "2025-12-19 15:39:37.215485", "msg": "", "rc": 0, "start": "2025-12-19 15:39:37.210194", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010399", "end": "2025-12-19 15:40:13.225743", "msg": "", "rc": 0, "start": "2025-12-19 15:40:13.215344", "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.011630", "end": "2025-12-19 15:40:13.271878", "msg": "", "rc": 0, "start": "2025-12-19 15:40:13.260248", "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.006249", "end": "2025-12-19 15:40:13.441567", "msg": "", "rc": 0, "start": "2025-12-19 15:40:13.435318", "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.005388", "end": "2025-12-19 15:39:40.388009", "msg": "", "rc": 0, "start": "2025-12-19 15:39:40.382621", "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.005433", "end": "2025-12-19 12:40:13.729096", "msg": "", "rc": 0, "start": "2025-12-19 12:40:13.723663", "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.005496", "end": "2025-12-19 15:39:47.725059", "msg": "", "rc": 0, "start": "2025-12-19 15:39:47.719563", "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.005204", "end": "2025-12-19 15:40:13.863739", "msg": "", "rc": 0, "start": "2025-12-19 15:40:13.858535", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021414", "end": "2025-12-19 15:40:14.054952", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.033538", "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.025632", "end": "2025-12-19 15:40:13.878103", "msg": "", "rc": 0, "start": "2025-12-19 15:40:13.852471", "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.004290", "end": "2025-12-19 15:40:14.383016", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.378726", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004193", "end": "2025-12-19 15:40:14.413311", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.409118", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004720", "end": "2025-12-19 15:40:14.421253", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.416533", "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.004866", "end": "2025-12-19 15:40:14.437686", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.432820", "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.006772", "end": "2025-12-19 15:40:14.447722", "msg": "", "rc": 0, "start": "2025-12-19 15:40:14.440950", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003849", "end": "2025-12-19 15:39:46.286661", "msg": "", "rc": 0, "start": "2025-12-19 15:39:46.282812", "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.004676", "end": "2025-12-19 15:39:39.114346", "msg": "", "rc": 0, "start": "2025-12-19 15:39:39.109670", "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.011045", "end": "2025-12-19 15:40:15.089257", "msg": "", "rc": 0, "start": "2025-12-19 15:40:15.078212", "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.011891", "end": "2025-12-19 15:40:15.114462", "msg": "", "rc": 0, "start": "2025-12-19 15:40:15.102571", "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.006323", "end": "2025-12-19 15:40:15.365106", "msg": "", "rc": 0, "start": "2025-12-19 15:40:15.358783", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004265", "end": "2025-12-19 15:39:42.280564", "msg": "", "rc": 0, "start": "2025-12-19 15:39:42.276299", "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.005170", "end": "2025-12-19 12:40:15.578419", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:40:15.573249", "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.006736", "end": "2025-12-19 15:39:49.577428", "msg": "", "rc": 0, "start": "2025-12-19 15:39:49.570692", "stderr": "", "stderr_lines": [], "stdout": "62.9%", "stdout_lines": ["62.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.005295", "end": "2025-12-19 15:40:15.786822", "msg": "", "rc": 0, "start": "2025-12-19 15:40:15.781527", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.011208", "end": "2025-12-19 15:40:16.121618", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.110410", "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.026104", "end": "2025-12-19 15:40:15.768281", "msg": "", "rc": 0, "start": "2025-12-19 15:40:15.742177", "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.005319", "end": "2025-12-19 15:40:16.276108", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.270789", "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.005665", "end": "2025-12-19 15:40:16.301134", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.295469", "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.004841", "end": "2025-12-19 15:40:16.309138", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.304297", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.003042", "end": "2025-12-19 15:40:16.331043", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.328001", "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.006503", "end": "2025-12-19 15:40:16.339741", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.333238", "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.002372", "end": "2025-12-19 15:39:48.156088", "msg": "", "rc": 0, "start": "2025-12-19 15:39:48.153716", "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.002863", "end": "2025-12-19 15:39:41.007911", "msg": "", "rc": 0, "start": "2025-12-19 15:39:41.005048", "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.011845", "end": "2025-12-19 15:40:16.978772", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.966927", "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.012833", "end": "2025-12-19 15:40:17.005715", "msg": "", "rc": 0, "start": "2025-12-19 15:40:16.992882", "stderr": "", "stderr_lines": [], "stdout": "38.0°C", "stdout_lines": ["38.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-19 15:40:17.245544", "msg": "", "rc": 0, "start": "2025-12-19 15:40:17.242419", "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.003125", "end": "2025-12-19 15:39:44.174995", "msg": "", "rc": 0, "start": "2025-12-19 15:39:44.171870", "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.002592", "end": "2025-12-19 15:39:51.463469", "msg": "", "rc": 0, "start": "2025-12-19 15:39:51.460877", "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.003794", "end": "2025-12-19 12:40:17.464869", "msg": "", "rc": 0, "start": "2025-12-19 12:40:17.461075", "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-19 15:40:17.666684", "msg": "", "rc": 0, "start": "2025-12-19 15:40:17.663719", "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.004978", "end": "2025-12-19 15:40:18.203591", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.198613", "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.028794", "end": "2025-12-19 15:40:17.664724", "msg": "", "rc": 0, "start": "2025-12-19 15:40:17.635930", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004087", "end": "2025-12-19 15:40:18.186489", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.182402", "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.004043", "end": "2025-12-19 15:40:18.200852", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.196809", "stderr": "", "stderr_lines": [], "stdout": "0.95", "stdout_lines": ["0.95"]}
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-19 15:40:18.213387", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.208716", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
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.004437", "end": "2025-12-19 15:40:18.225444", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.221007", "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.005166", "end": "2025-12-19 15:40:18.245350", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.240184", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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.004311", "end": "2025-12-19 15:39:50.066835", "msg": "", "rc": 0, "start": "2025-12-19 15:39:50.062524", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005229", "end": "2025-12-19 15:39:42.925633", "msg": "", "rc": 0, "start": "2025-12-19 15:39:42.920404", "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.009985", "end": "2025-12-19 15:40:18.938113", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.928128", "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.011109", "end": "2025-12-19 15:40:19.008412", "msg": "", "rc": 0, "start": "2025-12-19 15:40:18.997303", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005784", "end": "2025-12-19 15:40:19.132474", "msg": "", "rc": 0, "start": "2025-12-19 15:40:19.126690", "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.005056", "end": "2025-12-19 15:39:46.104889", "msg": "", "rc": 0, "start": "2025-12-19 15:39:46.099833", "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.005064", "end": "2025-12-19 15:39:53.437295", "msg": "", "rc": 0, "start": "2025-12-19 15:39:53.432231", "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.006299", "end": "2025-12-19 12:40:19.475771", "msg": "", "rc": 0, "start": "2025-12-19 12:40:19.469472", "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.005272", "end": "2025-12-19 15:40:19.558869", "msg": "", "rc": 0, "start": "2025-12-19 15:40:19.553597", "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.009362", "end": "2025-12-19 15:40:20.332031", "msg": "", "rc": 0, "start": "2025-12-19 15:40:20.322669", "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.024385", "end": "2025-12-19 15:40:19.574039", "msg": "", "rc": 0, "start": "2025-12-19 15:40:19.549654", "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: 15:40:10 up 24 days, 2:31, 1 user, load average: 0.13, 0.08, 0.07\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.27\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:10 up 6:24, 1 user, load average: 1.12, 0.86, 0.56\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.95\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:10 up 24 days, 2:51, 1 user, load average: 0.80, 0.64, 0.68\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.91\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:10 up 24 days, 4:04, 1 user, load average: 0.83, 0.69, 0.68\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.85\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:10 up 24 days, 4:50, 1 user, load average: 0.01, 0.03, 0.00\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: 15:40:11 up 17 days, 5:06, 1 user, load average: 0.15, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.0%\nCPU Load: 0.28\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:11 up 196 days, 7:13, 1 user, load average: 0.15, 0.15, 0.17\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.28\nCPU Temp: 38.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:11 up 196 days, 7:13, 1 user, load average: 0.14, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.12\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:39:42 up 13 days, 3:29, 0 user, load average: 0.25, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:39:35 up 19 days, 23:41, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 25%\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: 15:40:11 up 6:23, 1 user, load average: 0.04, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:39:38 up 22 days, 18:33, 0 user, load average: 0.42, 0.49, 0.49\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:39:45 up 19 days, 4:55, 0 user, load average: 0.41, 0.27, 0.26\nDisk Usage: 76%\nMemory Usage: 62.9%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40PM up 24 days, 2:29, 1 user, load averages: 0.29, 0.36, 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: 15:40:11 up 6:23, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:40:14 up 1:40, 1 user, load average: 1.41, 1.16, 1.15\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T20:40:21.299452+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `929a2d0a93ad4f54a500c9b41d6a3280` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:45:00.011495+00:00 |
| **Fin** | 2025-12-19T20:45:21.367588+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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.003348", "end": "2025-12-19 15:45:10.016567", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.013219", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 24 days, 2:36, 1 user, load average: 0.12, 0.07, 0.07", "stdout_lines": [" 15:45:10 up 24 days, 2:36, 1 user, load average: 0.12, 0.07, 0.07"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003728", "end": "2025-12-19 15:45:10.033895", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.030167", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 24 days, 4:55, 1 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 15:45:10 up 24 days, 4:55, 1 user, load average: 0.08, 0.03, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003438", "end": "2025-12-19 15:45:10.034278", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.030840", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 24 days, 2:56, 1 user, load average: 0.59, 0.72, 0.72", "stdout_lines": [" 15:45:10 up 24 days, 2:56, 1 user, load average: 0.59, 0.72, 0.72"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002917", "end": "2025-12-19 15:45:10.062263", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.059346", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 6:29, 1 user, load average: 0.20, 0.47, 0.47", "stdout_lines": [" 15:45:10 up 6:29, 1 user, load average: 0.20, 0.47, 0.47"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004162", "end": "2025-12-19 15:45:10.066729", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.062567", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 24 days, 4:09, 1 user, load average: 0.69, 0.67, 0.67", "stdout_lines": [" 15:45:10 up 24 days, 4:09, 1 user, load average: 0.69, 0.67, 0.67"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002693", "end": "2025-12-19 15:44:41.887519", "msg": "", "rc": 0, "start": "2025-12-19 15:44:41.884826", "stderr": "", "stderr_lines": [], "stdout": " 15:44:41 up 13 days, 3:34, 0 user, load average: 0.10, 0.10, 0.09", "stdout_lines": [" 15:44:41 up 13 days, 3:34, 0 user, load average: 0.10, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004371", "end": "2025-12-19 15:44:34.761580", "msg": "", "rc": 0, "start": "2025-12-19 15:44:34.757209", "stderr": "", "stderr_lines": [], "stdout": " 15:44:34 up 19 days, 23:46, 0 user, load average: 0.01, 0.01, 0.00", "stdout_lines": [" 15:44:34 up 19 days, 23:46, 0 user, load average: 0.01, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008303", "end": "2025-12-19 15:45:10.705502", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.697199", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 196 days, 7:18, 1 user, load average: 0.39, 0.22, 0.13", "stdout_lines": [" 15:45:10 up 196 days, 7:18, 1 user, load average: 0.39, 0.22, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009150", "end": "2025-12-19 15:45:10.753255", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.744105", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 196 days, 7:18, 1 user, load average: 0.38, 0.21, 0.19", "stdout_lines": [" 15:45:10 up 196 days, 7:18, 1 user, load average: 0.38, 0.21, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004639", "end": "2025-12-19 15:45:10.978463", "msg": "", "rc": 0, "start": "2025-12-19 15:45:10.973824", "stderr": "", "stderr_lines": [], "stdout": " 15:45:10 up 6:28, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:45:10 up 6:28, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002861", "end": "2025-12-19 15:44:45.173146", "msg": "", "rc": 0, "start": "2025-12-19 15:44:45.170285", "stderr": "", "stderr_lines": [], "stdout": " 15:44:45 up 19 days, 5:00, 0 user, load average: 0.58, 0.44, 0.32", "stdout_lines": [" 15:44:45 up 19 days, 5:00, 0 user, load average: 0.58, 0.44, 0.32"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003390", "end": "2025-12-19 15:44:37.957838", "msg": "", "rc": 0, "start": "2025-12-19 15:44:37.954448", "stderr": "", "stderr_lines": [], "stdout": " 15:44:37 up 22 days, 18:38, 0 user, load average: 0.42, 0.50, 0.49", "stdout_lines": [" 15:44:37 up 22 days, 18:38, 0 user, load average: 0.42, 0.50, 0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004278", "end": "2025-12-19 12:45:11.204571", "msg": "", "rc": 0, "start": "2025-12-19 12:45:11.200293", "stderr": "", "stderr_lines": [], "stdout": "12:45PM up 24 days, 2:34, 1 user, load averages: 0.63, 0.35, 0.28", "stdout_lines": ["12:45PM up 24 days, 2:34, 1 user, load averages: 0.63, 0.35, 0.28"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003752", "end": "2025-12-19 15:45:11.396591", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.392839", "stderr": "", "stderr_lines": [], "stdout": " 15:45:11 up 6:28, 1 user, load average: 0.01, 0.05, 0.02", "stdout_lines": [" 15:45:11 up 6:28, 1 user, load average: 0.01, 0.05, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008041", "end": "2025-12-19 15:45:12.036015", "msg": "", "rc": 0, "start": "2025-12-19 15:45:12.027974", "stderr": "", "stderr_lines": [], "stdout": " 15:45:12 up 1:46, 1 user, load average: 1.27, 1.20, 1.17", "stdout_lines": [" 15:45:12 up 1:46, 1 user, load average: 1.27, 1.20, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019215", "end": "2025-12-19 15:45:11.398544", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.379329", "stderr": "", "stderr_lines": [], "stdout": " 15:45:11 up 17 days, 5:11, 1 user, load average: 0.35, 0.15, 0.10", "stdout_lines": [" 15:45:11 up 17 days, 5:11, 1 user, load average: 0.35, 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.004131", "end": "2025-12-19 15:45:11.917469", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.913338", "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.004532", "end": "2025-12-19 15:45:11.944480", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.939948", "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.004054", "end": "2025-12-19 15:45:11.952718", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.948664", "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.005021", "end": "2025-12-19 15:45:11.979748", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.974727", "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.005382", "end": "2025-12-19 15:45:11.997147", "msg": "", "rc": 0, "start": "2025-12-19 15:45:11.991765", "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.006227", "end": "2025-12-19 15:44:43.809693", "msg": "", "rc": 0, "start": "2025-12-19 15:44:43.803466", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005323", "end": "2025-12-19 15:44:36.661890", "msg": "", "rc": 0, "start": "2025-12-19 15:44:36.656567", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010523", "end": "2025-12-19 15:45:12.667931", "msg": "", "rc": 0, "start": "2025-12-19 15:45:12.657408", "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.011526", "end": "2025-12-19 15:45:12.719276", "msg": "", "rc": 0, "start": "2025-12-19 15:45:12.707750", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005693", "end": "2025-12-19 15:45:12.900199", "msg": "", "rc": 0, "start": "2025-12-19 15:45:12.894506", "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.005503", "end": "2025-12-19 15:44:39.838684", "msg": "", "rc": 0, "start": "2025-12-19 15:44:39.833181", "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.004466", "end": "2025-12-19 15:44:47.151555", "msg": "", "rc": 0, "start": "2025-12-19 15:44:47.147089", "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.005486", "end": "2025-12-19 12:45:13.171690", "msg": "", "rc": 0, "start": "2025-12-19 12:45:13.166204", "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.005330", "end": "2025-12-19 15:45:13.344505", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.339175", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020593", "end": "2025-12-19 15:45:14.128806", "msg": "", "rc": 0, "start": "2025-12-19 15:45:14.108213", "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.025444", "end": "2025-12-19 15:45:13.302477", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.277033", "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.004260", "end": "2025-12-19 15:45:13.818954", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.814694", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004337", "end": "2025-12-19 15:45:13.833306", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.828969", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.005127", "end": "2025-12-19 15:45:13.847038", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.841911", "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.005287", "end": "2025-12-19 15:45:13.878410", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.873123", "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.005595", "end": "2025-12-19 15:45:13.888440", "msg": "", "rc": 0, "start": "2025-12-19 15:45:13.882845", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003720", "end": "2025-12-19 15:44:45.702481", "msg": "", "rc": 0, "start": "2025-12-19 15:44:45.698761", "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.004468", "end": "2025-12-19 15:44:38.554460", "msg": "", "rc": 0, "start": "2025-12-19 15:44:38.549992", "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.011429", "end": "2025-12-19 15:45:14.499678", "msg": "", "rc": 0, "start": "2025-12-19 15:45:14.488249", "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.011949", "end": "2025-12-19 15:45:14.532318", "msg": "", "rc": 0, "start": "2025-12-19 15:45:14.520369", "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.006319", "end": "2025-12-19 15:45:14.784533", "msg": "", "rc": 0, "start": "2025-12-19 15:45:14.778214", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.003986", "end": "2025-12-19 15:44:41.728304", "msg": "", "rc": 0, "start": "2025-12-19 15:44:41.724318", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003607", "end": "2025-12-19 15:44:48.981296", "msg": "", "rc": 0, "start": "2025-12-19 15:44:48.977689", "stderr": "", "stderr_lines": [], "stdout": "60.2%", "stdout_lines": ["60.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.004983", "end": "2025-12-19 12:45:14.986209", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:45:14.981226", "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.005441", "end": "2025-12-19 15:45:15.209981", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.204540", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009297", "end": "2025-12-19 15:45:16.187113", "msg": "", "rc": 0, "start": "2025-12-19 15:45:16.177816", "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.026024", "end": "2025-12-19 15:45:15.201774", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.175750", "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.005386", "end": "2025-12-19 15:45:15.714027", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.708641", "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.004783", "end": "2025-12-19 15:45:15.741396", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.736613", "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.005557", "end": "2025-12-19 15:45:15.742638", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.737081", "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.003482", "end": "2025-12-19 15:45:15.779823", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.776341", "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.006626", "end": "2025-12-19 15:45:15.791371", "msg": "", "rc": 0, "start": "2025-12-19 15:45:15.784745", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002610", "end": "2025-12-19 15:44:47.643314", "msg": "", "rc": 0, "start": "2025-12-19 15:44:47.640704", "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.002911", "end": "2025-12-19 15:44:40.481561", "msg": "", "rc": 0, "start": "2025-12-19 15:44:40.478650", "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.011771", "end": "2025-12-19 15:45:16.435673", "msg": "", "rc": 0, "start": "2025-12-19 15:45:16.423902", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013138", "end": "2025-12-19 15:45:16.480340", "msg": "", "rc": 0, "start": "2025-12-19 15:45:16.467202", "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.003146", "end": "2025-12-19 15:45:16.720680", "msg": "", "rc": 0, "start": "2025-12-19 15:45:16.717534", "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.002994", "end": "2025-12-19 15:44:43.652033", "msg": "", "rc": 0, "start": "2025-12-19 15:44:43.649039", "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.003780", "end": "2025-12-19 12:45:16.927034", "msg": "", "rc": 0, "start": "2025-12-19 12:45:16.923254", "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.002492", "end": "2025-12-19 15:44:50.921612", "msg": "", "rc": 0, "start": "2025-12-19 15:44:50.919120", "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.003020", "end": "2025-12-19 15:45:17.146062", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.143042", "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.005116", "end": "2025-12-19 15:45:18.289054", "msg": "", "rc": 0, "start": "2025-12-19 15:45:18.283938", "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.028386", "end": "2025-12-19 15:45:17.127412", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.099026", "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.004023", "end": "2025-12-19 15:45:17.651796", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.647773", "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.003984", "end": "2025-12-19 15:45:17.659096", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.655112", "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.004843", "end": "2025-12-19 15:45:17.670917", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.666074", "stderr": "", "stderr_lines": [], "stdout": "0.58", "stdout_lines": ["0.58"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004976", "end": "2025-12-19 15:45:17.702974", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.697998", "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.005288", "end": "2025-12-19 15:45:17.703253", "msg": "", "rc": 0, "start": "2025-12-19 15:45:17.697965", "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.004159", "end": "2025-12-19 15:44:49.548773", "msg": "", "rc": 0, "start": "2025-12-19 15:44:49.544614", "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.005587", "end": "2025-12-19 15:44:42.392199", "msg": "", "rc": 0, "start": "2025-12-19 15:44:42.386612", "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.010302", "end": "2025-12-19 15:45:18.437229", "msg": "", "rc": 0, "start": "2025-12-19 15:45:18.426927", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.014616", "end": "2025-12-19 15:45:18.488288", "msg": "", "rc": 0, "start": "2025-12-19 15:45:18.473672", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
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.006172", "end": "2025-12-19 15:45:18.634222", "msg": "", "rc": 0, "start": "2025-12-19 15:45:18.628050", "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.004879", "end": "2025-12-19 15:44:45.558880", "msg": "", "rc": 0, "start": "2025-12-19 15:44:45.554001", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.004038", "end": "2025-12-19 15:44:52.929283", "msg": "", "rc": 0, "start": "2025-12-19 15:44:52.925245", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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.005772", "end": "2025-12-19 12:45:18.954630", "msg": "", "rc": 0, "start": "2025-12-19 12:45:18.948858", "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-19 15:45:19.069786", "msg": "", "rc": 0, "start": "2025-12-19 15:45:19.064525", "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.007878", "end": "2025-12-19 15:45:20.410973", "msg": "", "rc": 0, "start": "2025-12-19 15:45:20.403095", "stderr": "", "stderr_lines": [], "stdout": "1.30", "stdout_lines": ["1.30"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024230", "end": "2025-12-19 15:45:19.043932", "msg": "", "rc": 0, "start": "2025-12-19 15:45:19.019702", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 6:29, 1 user, load average: 0.20, 0.47, 0.47\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.33\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 24 days, 2:36, 1 user, load average: 0.12, 0.07, 0.07\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 24 days, 2:56, 1 user, load average: 0.59, 0.72, 0.72\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.58\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 24 days, 4:09, 1 user, load average: 0.69, 0.67, 0.67\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.71\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 24 days, 4:55, 1 user, load average: 0.08, 0.03, 0.01\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: 15:45:11 up 17 days, 5:11, 1 user, load average: 0.35, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.37\nCPU Temp: 37.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 196 days, 7:18, 1 user, load average: 0.38, 0.21, 0.19\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.47\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 196 days, 7:18, 1 user, load average: 0.39, 0.22, 0.13\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.33\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:44:41 up 13 days, 3:34, 0 user, load average: 0.10, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:44:34 up 19 days, 23:46, 0 user, load average: 0.01, 0.01, 0.00\nDisk Usage: 25%\nMemory Usage: 64.9%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:10 up 6:28, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:44:37 up 22 days, 18:38, 0 user, load average: 0.42, 0.50, 0.49\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:44:45 up 19 days, 5:00, 0 user, load average: 0.58, 0.44, 0.32\nDisk Usage: 76%\nMemory Usage: 60.2%\nCPU Load: 0.85\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45PM up 24 days, 2:34, 1 user, load averages: 0.63, 0.35, 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: 15:45:11 up 6:28, 1 user, load average: 0.01, 0.05, 0.02\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:45:12 up 1:46, 1 user, load average: 1.27, 1.20, 1.17\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T20:45:21.414159+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6c120a4c60af4e43b97ccc59f34475c4` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:50:00.000986+00:00 |
| **Fin** | 2025-12-19T20:50:21.827328+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: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003623", "end": "2025-12-19 15:50:09.952150", "msg": "", "rc": 0, "start": "2025-12-19 15:50:09.948527", "stderr": "", "stderr_lines": [], "stdout": " 15:50:09 up 24 days, 3:01, 1 user, load average: 0.61, 0.72, 0.72", "stdout_lines": [" 15:50:09 up 24 days, 3:01, 1 user, load average: 0.61, 0.72, 0.72"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003327", "end": "2025-12-19 15:50:09.957731", "msg": "", "rc": 0, "start": "2025-12-19 15:50:09.954404", "stderr": "", "stderr_lines": [], "stdout": " 15:50:09 up 24 days, 5:00, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:50:09 up 24 days, 5:00, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002900", "end": "2025-12-19 15:50:09.975710", "msg": "", "rc": 0, "start": "2025-12-19 15:50:09.972810", "stderr": "", "stderr_lines": [], "stdout": " 15:50:09 up 6:34, 1 user, load average: 0.14, 0.26, 0.37", "stdout_lines": [" 15:50:09 up 6:34, 1 user, load average: 0.14, 0.26, 0.37"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008378", "end": "2025-12-19 15:50:10.651791", "msg": "", "rc": 0, "start": "2025-12-19 15:50:10.643413", "stderr": "", "stderr_lines": [], "stdout": " 15:50:10 up 196 days, 7:23, 1 user, load average: 0.50, 0.34, 0.19", "stdout_lines": [" 15:50:10 up 196 days, 7:23, 1 user, load average: 0.50, 0.34, 0.19"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009135", "end": "2025-12-19 15:50:10.671654", "msg": "", "rc": 0, "start": "2025-12-19 15:50:10.662519", "stderr": "", "stderr_lines": [], "stdout": " 15:50:10 up 196 days, 7:23, 1 user, load average: 0.29, 0.26, 0.21", "stdout_lines": [" 15:50:10 up 196 days, 7:23, 1 user, load average: 0.29, 0.26, 0.21"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004559", "end": "2025-12-19 15:50:10.952099", "msg": "", "rc": 0, "start": "2025-12-19 15:50:09.947540", "stderr": "", "stderr_lines": [], "stdout": " 15:50:09 up 24 days, 2:41, 1 user, load average: 0.85, 0.33, 0.16", "stdout_lines": [" 15:50:09 up 24 days, 2:41, 1 user, load average: 0.85, 0.33, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005139", "end": "2025-12-19 15:50:10.990361", "msg": "", "rc": 0, "start": "2025-12-19 15:50:09.985222", "stderr": "", "stderr_lines": [], "stdout": " 15:50:09 up 24 days, 4:14, 1 user, load average: 1.17, 0.82, 0.73", "stdout_lines": [" 15:50:09 up 24 days, 4:14, 1 user, load average: 1.17, 0.82, 0.73"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003180", "end": "2025-12-19 15:49:42.514589", "msg": "", "rc": 0, "start": "2025-12-19 15:49:42.511409", "stderr": "", "stderr_lines": [], "stdout": " 15:49:42 up 13 days, 3:39, 0 user, load average: 0.26, 0.29, 0.17", "stdout_lines": [" 15:49:42 up 13 days, 3:39, 0 user, load average: 0.26, 0.29, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004945", "end": "2025-12-19 15:49:35.394568", "msg": "", "rc": 0, "start": "2025-12-19 15:49:35.389623", "stderr": "", "stderr_lines": [], "stdout": " 15:49:35 up 19 days, 23:51, 0 user, load average: 0.14, 0.07, 0.02", "stdout_lines": [" 15:49:35 up 19 days, 23:51, 0 user, load average: 0.14, 0.07, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004498", "end": "2025-12-19 15:50:11.411641", "msg": "", "rc": 0, "start": "2025-12-19 15:50:11.407143", "stderr": "", "stderr_lines": [], "stdout": " 15:50:11 up 6:33, 1 user, load average: 0.11, 0.03, 0.01", "stdout_lines": [" 15:50:11 up 6:33, 1 user, load average: 0.11, 0.03, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019460", "end": "2025-12-19 15:50:11.336155", "msg": "", "rc": 0, "start": "2025-12-19 15:50:11.316695", "stderr": "", "stderr_lines": [], "stdout": " 15:50:11 up 17 days, 5:16, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 15:50:11 up 17 days, 5:16, 1 user, load average: 0.23, 0.14, 0.10"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003376", "end": "2025-12-19 15:49:38.315596", "msg": "", "rc": 0, "start": "2025-12-19 15:49:38.312220", "stderr": "", "stderr_lines": [], "stdout": " 15:49:38 up 22 days, 18:43, 0 user, load average: 0.50, 0.45, 0.46", "stdout_lines": [" 15:49:38 up 22 days, 18:43, 0 user, load average: 0.50, 0.45, 0.46"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003038", "end": "2025-12-19 15:49:45.591604", "msg": "", "rc": 0, "start": "2025-12-19 15:49:45.588566", "stderr": "", "stderr_lines": [], "stdout": " 15:49:45 up 19 days, 5:05, 0 user, load average: 0.18, 0.31, 0.30", "stdout_lines": [" 15:49:45 up 19 days, 5:05, 0 user, load average: 0.18, 0.31, 0.30"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004124", "end": "2025-12-19 12:50:11.697458", "msg": "", "rc": 0, "start": "2025-12-19 12:50:11.693334", "stderr": "", "stderr_lines": [], "stdout": "12:50PM up 24 days, 2:39, 1 user, load averages: 0.38, 0.34, 0.28", "stdout_lines": ["12:50PM up 24 days, 2:39, 1 user, load averages: 0.38, 0.34, 0.28"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008463", "end": "2025-12-19 15:50:12.488849", "msg": "", "rc": 0, "start": "2025-12-19 15:50:12.480386", "stderr": "", "stderr_lines": [], "stdout": " 15:50:12 up 1:51, 1 user, load average: 1.22, 1.16, 1.16", "stdout_lines": [" 15:50:12 up 1:51, 1 user, load average: 1.22, 1.16, 1.16"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003655", "end": "2025-12-19 15:50:11.845470", "msg": "", "rc": 0, "start": "2025-12-19 15:50:11.841815", "stderr": "", "stderr_lines": [], "stdout": " 15:50:11 up 6:33, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:50:11 up 6:33, 1 user, load average: 0.00, 0.02, 0.00"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004139", "end": "2025-12-19 15:50:12.240893", "msg": "", "rc": 0, "start": "2025-12-19 15:50:12.236754", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004042", "end": "2025-12-19 15:50:12.266486", "msg": "", "rc": 0, "start": "2025-12-19 15:50:12.262444", "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.004782", "end": "2025-12-19 15:50:12.282016", "msg": "", "rc": 0, "start": "2025-12-19 15:50:12.277234", "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.004583", "end": "2025-12-19 15:50:12.296550", "msg": "", "rc": 0, "start": "2025-12-19 15:50:12.291967", "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.005689", "end": "2025-12-19 15:50:12.326795", "msg": "", "rc": 0, "start": "2025-12-19 15:50:12.321106", "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.005586", "end": "2025-12-19 15:49:44.120851", "msg": "", "rc": 0, "start": "2025-12-19 15:49:44.115265", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005684", "end": "2025-12-19 15:49:37.010753", "msg": "", "rc": 0, "start": "2025-12-19 15:49:37.005069", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010776", "end": "2025-12-19 15:50:13.015191", "msg": "", "rc": 0, "start": "2025-12-19 15:50:13.004415", "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.011418", "end": "2025-12-19 15:50:13.053457", "msg": "", "rc": 0, "start": "2025-12-19 15:50:13.042039", "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.006069", "end": "2025-12-19 15:50:13.224861", "msg": "", "rc": 0, "start": "2025-12-19 15:50:13.218792", "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-19 15:49:40.202945", "msg": "", "rc": 0, "start": "2025-12-19 15:49:40.197607", "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.005444", "end": "2025-12-19 12:50:13.515654", "msg": "", "rc": 0, "start": "2025-12-19 12:50:13.510210", "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.004942", "end": "2025-12-19 15:49:47.507658", "msg": "", "rc": 0, "start": "2025-12-19 15:49:47.502716", "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.005440", "end": "2025-12-19 15:50:13.653983", "msg": "", "rc": 0, "start": "2025-12-19 15:50:13.648543", "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.025595", "end": "2025-12-19 15:50:13.632246", "msg": "", "rc": 0, "start": "2025-12-19 15:50:13.606651", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022433", "end": "2025-12-19 15:50:14.680343", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.657910", "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.004222", "end": "2025-12-19 15:50:14.146402", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.142180", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004184", "end": "2025-12-19 15:50:14.173734", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.169550", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004786", "end": "2025-12-19 15:50:14.189128", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.184342", "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.005704", "end": "2025-12-19 15:50:14.215457", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.209753", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.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.004779", "end": "2025-12-19 15:50:14.226300", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.221521", "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.003750", "end": "2025-12-19 15:49:46.044308", "msg": "", "rc": 0, "start": "2025-12-19 15:49:46.040558", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004345", "end": "2025-12-19 15:49:38.896298", "msg": "", "rc": 0, "start": "2025-12-19 15:49:38.891953", "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.010956", "end": "2025-12-19 15:50:14.843748", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.832792", "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.011895", "end": "2025-12-19 15:50:14.891595", "msg": "", "rc": 0, "start": "2025-12-19 15:50:14.879700", "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.005836", "end": "2025-12-19 15:50:15.131940", "msg": "", "rc": 0, "start": "2025-12-19 15:50:15.126104", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004222", "end": "2025-12-19 15:49:42.075906", "msg": "", "rc": 0, "start": "2025-12-19 15:49:42.071684", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003607", "end": "2025-12-19 15:49:49.339831", "msg": "", "rc": 0, "start": "2025-12-19 15:49:49.336224", "stderr": "", "stderr_lines": [], "stdout": "63.6%", "stdout_lines": ["63.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.005518", "end": "2025-12-19 12:50:15.362056", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:50:15.356538", "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.005364", "end": "2025-12-19 15:50:15.560445", "msg": "", "rc": 0, "start": "2025-12-19 15:50:15.555081", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.008660", "end": "2025-12-19 15:50:16.720306", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.711646", "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.025950", "end": "2025-12-19 15:50:15.532628", "msg": "", "rc": 0, "start": "2025-12-19 15:50:15.506678", "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.005373", "end": "2025-12-19 15:50:16.043410", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.038037", "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.004886", "end": "2025-12-19 15:50:16.075560", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.070674", "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.006179", "end": "2025-12-19 15:50:16.104019", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.097840", "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.003093", "end": "2025-12-19 15:50:16.111886", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.108793", "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.006631", "end": "2025-12-19 15:50:16.110714", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.104083", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002584", "end": "2025-12-19 15:49:47.950286", "msg": "", "rc": 0, "start": "2025-12-19 15:49:47.947702", "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.003228", "end": "2025-12-19 15:49:40.786054", "msg": "", "rc": 0, "start": "2025-12-19 15:49:40.782826", "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.011796", "end": "2025-12-19 15:50:16.770157", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.758361", "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.012742", "end": "2025-12-19 15:50:16.795803", "msg": "", "rc": 0, "start": "2025-12-19 15:50:16.783061", "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.003127", "end": "2025-12-19 15:50:17.043316", "msg": "", "rc": 0, "start": "2025-12-19 15:50:17.040189", "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.003014", "end": "2025-12-19 15:49:43.972746", "msg": "", "rc": 0, "start": "2025-12-19 15:49:43.969732", "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.003806", "end": "2025-12-19 12:50:17.252575", "msg": "", "rc": 0, "start": "2025-12-19 12:50:17.248769", "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.002723", "end": "2025-12-19 15:49:51.242925", "msg": "", "rc": 0, "start": "2025-12-19 15:49:51.240202", "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.003010", "end": "2025-12-19 15:50:17.455912", "msg": "", "rc": 0, "start": "2025-12-19 15:50:17.452902", "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.004032", "end": "2025-12-19 15:50:18.799352", "msg": "", "rc": 0, "start": "2025-12-19 15:50:18.795320", "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.028267", "end": "2025-12-19 15:50:17.445347", "msg": "", "rc": 0, "start": "2025-12-19 15:50:17.417080", "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.004046", "end": "2025-12-19 15:50:17.951664", "msg": "", "rc": 0, "start": "2025-12-19 15:50:17.947618", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004058", "end": "2025-12-19 15:50:17.982143", "msg": "", "rc": 0, "start": "2025-12-19 15:50:17.978085", "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.004947", "end": "2025-12-19 15:50:17.984949", "msg": "", "rc": 0, "start": "2025-12-19 15:50:17.980002", "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.005001", "end": "2025-12-19 15:50:18.012420", "msg": "", "rc": 0, "start": "2025-12-19 15:50:18.007419", "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.005592", "end": "2025-12-19 15:50:18.027694", "msg": "", "rc": 0, "start": "2025-12-19 15:50:18.022102", "stderr": "", "stderr_lines": [], "stdout": "1.07", "stdout_lines": ["1.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.004152", "end": "2025-12-19 15:49:49.839297", "msg": "", "rc": 0, "start": "2025-12-19 15:49:49.835145", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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.005064", "end": "2025-12-19 15:49:42.683843", "msg": "", "rc": 0, "start": "2025-12-19 15:49:42.678779", "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.009967", "end": "2025-12-19 15:50:18.747061", "msg": "", "rc": 0, "start": "2025-12-19 15:50:18.737094", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.012995", "end": "2025-12-19 15:50:18.784883", "msg": "", "rc": 0, "start": "2025-12-19 15:50:18.771888", "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.005818", "end": "2025-12-19 15:50:18.921331", "msg": "", "rc": 0, "start": "2025-12-19 15:50:18.915513", "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.004898", "end": "2025-12-19 15:49:45.848442", "msg": "", "rc": 0, "start": "2025-12-19 15:49:45.843544", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
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.006118", "end": "2025-12-19 12:50:19.255242", "msg": "", "rc": 0, "start": "2025-12-19 12:50:19.249124", "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.004803", "end": "2025-12-19 15:49:53.255162", "msg": "", "rc": 0, "start": "2025-12-19 15:49:53.250359", "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.005373", "end": "2025-12-19 15:50:19.359918", "msg": "", "rc": 0, "start": "2025-12-19 15:50:19.354545", "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.009444", "end": "2025-12-19 15:50:20.879923", "msg": "", "rc": 0, "start": "2025-12-19 15:50:20.870479", "stderr": "", "stderr_lines": [], "stdout": "1.34", "stdout_lines": ["1.34"]}
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.024588", "end": "2025-12-19 15:50:19.333361", "msg": "", "rc": 0, "start": "2025-12-19 15:50:19.308773", "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: 15:50:09 up 6:34, 1 user, load average: 0.14, 0.26, 0.37\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.20\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:09 up 24 days, 2:41, 1 user, load average: 0.85, 0.33, 0.16\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.72\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:09 up 24 days, 3:01, 1 user, load average: 0.61, 0.72, 0.72\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: 15:50:09 up 24 days, 4:14, 1 user, load average: 1.17, 0.82, 0.73\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 1.07\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:09 up 24 days, 5:00, 1 user, load average: 0.00, 0.02, 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: 15:50:11 up 17 days, 5:16, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.0%\nCPU Load: 0.27\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:10 up 196 days, 7:23, 1 user, load average: 0.29, 0.26, 0.21\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.25\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:10 up 196 days, 7:23, 1 user, load average: 0.50, 0.34, 0.19\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.50\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:49:42 up 13 days, 3:39, 0 user, load average: 0.26, 0.29, 0.17\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:49:35 up 19 days, 23:51, 0 user, load average: 0.14, 0.07, 0.02\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:11 up 6:33, 1 user, load average: 0.11, 0.03, 0.01\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:49:38 up 22 days, 18:43, 0 user, load average: 0.50, 0.45, 0.46\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.57\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:49:45 up 19 days, 5:05, 0 user, load average: 0.18, 0.31, 0.30\nDisk Usage: 76%\nMemory Usage: 63.6%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50PM up 24 days, 2:39, 1 user, load averages: 0.38, 0.34, 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: 15:50:11 up 6:33, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:50:12 up 1:51, 1 user, load average: 1.22, 1.16, 1.16\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.34\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-19T20:50:21.882918+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `4905ab7f21194332931002f1bde706ea` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T20:55:00.001334+00:00 |
| **Fin** | 2025-12-19T20:55:21.446423+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003697", "end": "2025-12-19 15:55:09.903529", "msg": "", "rc": 0, "start": "2025-12-19 15:55:09.899832", "stderr": "", "stderr_lines": [], "stdout": " 15:55:09 up 24 days, 5:05, 1 user, load average: 0.06, 0.03, 0.00", "stdout_lines": [" 15:55:09 up 24 days, 5:05, 1 user, load average: 0.06, 0.03, 0.00"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003375", "end": "2025-12-19 15:55:09.902340", "msg": "", "rc": 0, "start": "2025-12-19 15:55:09.898965", "stderr": "", "stderr_lines": [], "stdout": " 15:55:09 up 24 days, 2:46, 1 user, load average: 0.29, 0.27, 0.18", "stdout_lines": [" 15:55:09 up 24 days, 2:46, 1 user, load average: 0.29, 0.27, 0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004162", "end": "2025-12-19 15:55:09.924817", "msg": "", "rc": 0, "start": "2025-12-19 15:55:09.920655", "stderr": "", "stderr_lines": [], "stdout": " 15:55:09 up 24 days, 3:06, 1 user, load average: 0.81, 0.74, 0.73", "stdout_lines": [" 15:55:09 up 24 days, 3:06, 1 user, load average: 0.81, 0.74, 0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003004", "end": "2025-12-19 15:55:09.936464", "msg": "", "rc": 0, "start": "2025-12-19 15:55:09.933460", "stderr": "", "stderr_lines": [], "stdout": " 15:55:09 up 6:39, 1 user, load average: 0.66, 0.38, 0.38", "stdout_lines": [" 15:55:09 up 6:39, 1 user, load average: 0.66, 0.38, 0.38"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004272", "end": "2025-12-19 15:55:09.933806", "msg": "", "rc": 0, "start": "2025-12-19 15:55:09.929534", "stderr": "", "stderr_lines": [], "stdout": " 15:55:09 up 24 days, 4:19, 1 user, load average: 0.69, 0.69, 0.70", "stdout_lines": [" 15:55:09 up 24 days, 4:19, 1 user, load average: 0.69, 0.69, 0.70"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003821", "end": "2025-12-19 15:54:41.803995", "msg": "", "rc": 0, "start": "2025-12-19 15:54:41.800174", "stderr": "", "stderr_lines": [], "stdout": " 15:54:41 up 13 days, 3:44, 0 user, load average: 0.31, 0.27, 0.19", "stdout_lines": [" 15:54:41 up 13 days, 3:44, 0 user, load average: 0.31, 0.27, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003903", "end": "2025-12-19 15:54:34.632017", "msg": "", "rc": 0, "start": "2025-12-19 15:54:34.628114", "stderr": "", "stderr_lines": [], "stdout": " 15:54:34 up 19 days, 23:56, 0 user, load average: 0.00, 0.05, 0.02", "stdout_lines": [" 15:54:34 up 19 days, 23:56, 0 user, load average: 0.00, 0.05, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008379", "end": "2025-12-19 15:55:10.598346", "msg": "", "rc": 0, "start": "2025-12-19 15:55:10.589967", "stderr": "", "stderr_lines": [], "stdout": " 15:55:10 up 196 days, 7:28, 1 user, load average: 0.30, 0.25, 0.18", "stdout_lines": [" 15:55:10 up 196 days, 7:28, 1 user, load average: 0.30, 0.25, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009143", "end": "2025-12-19 15:55:10.648466", "msg": "", "rc": 0, "start": "2025-12-19 15:55:10.639323", "stderr": "", "stderr_lines": [], "stdout": " 15:55:10 up 196 days, 7:28, 1 user, load average: 0.29, 0.32, 0.25", "stdout_lines": [" 15:55:10 up 196 days, 7:28, 1 user, load average: 0.29, 0.32, 0.25"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004527", "end": "2025-12-19 15:55:10.904782", "msg": "", "rc": 0, "start": "2025-12-19 15:55:10.900255", "stderr": "", "stderr_lines": [], "stdout": " 15:55:10 up 6:38, 1 user, load average: 0.08, 0.06, 0.02", "stdout_lines": [" 15:55:10 up 6:38, 1 user, load average: 0.08, 0.06, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003278", "end": "2025-12-19 15:54:37.868184", "msg": "", "rc": 0, "start": "2025-12-19 15:54:37.864906", "stderr": "", "stderr_lines": [], "stdout": " 15:54:37 up 22 days, 18:48, 0 user, load average: 0.73, 0.54, 0.48", "stdout_lines": [" 15:54:37 up 22 days, 18:48, 0 user, load average: 0.73, 0.54, 0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005022", "end": "2025-12-19 12:55:11.118141", "msg": "", "rc": 0, "start": "2025-12-19 12:55:11.113119", "stderr": "", "stderr_lines": [], "stdout": "12:55PM up 24 days, 2:44, 1 user, load averages: 0.28, 0.27, 0.26", "stdout_lines": ["12:55PM up 24 days, 2:44, 1 user, load averages: 0.28, 0.27, 0.26"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003193", "end": "2025-12-19 15:54:45.108810", "msg": "", "rc": 0, "start": "2025-12-19 15:54:45.105617", "stderr": "", "stderr_lines": [], "stdout": " 15:54:45 up 19 days, 5:10, 0 user, load average: 0.71, 0.39, 0.31", "stdout_lines": [" 15:54:45 up 19 days, 5:10, 0 user, load average: 0.71, 0.39, 0.31"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003713", "end": "2025-12-19 15:55:11.340372", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.336659", "stderr": "", "stderr_lines": [], "stdout": " 15:55:11 up 6:38, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 15:55:11 up 6:38, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019365", "end": "2025-12-19 15:55:11.281929", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.262564", "stderr": "", "stderr_lines": [], "stdout": " 15:55:11 up 17 days, 5:21, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 15:55:11 up 17 days, 5:21, 1 user, load average: 0.23, 0.14, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007595", "end": "2025-12-19 15:55:12.103427", "msg": "", "rc": 0, "start": "2025-12-19 15:55:12.095832", "stderr": "", "stderr_lines": [], "stdout": " 15:55:12 up 1:57, 1 user, load average: 1.43, 1.18, 1.16", "stdout_lines": [" 15:55:12 up 1:57, 1 user, load average: 1.43, 1.18, 1.16"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004208", "end": "2025-12-19 15:55:11.851474", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.847266", "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.004105", "end": "2025-12-19 15:55:11.877591", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.873486", "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.004686", "end": "2025-12-19 15:55:11.901784", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.897098", "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.005572", "end": "2025-12-19 15:55:11.905249", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.899677", "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.005675", "end": "2025-12-19 15:55:11.929109", "msg": "", "rc": 0, "start": "2025-12-19 15:55:11.923434", "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.005820", "end": "2025-12-19 15:54:43.768176", "msg": "", "rc": 0, "start": "2025-12-19 15:54:43.762356", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005488", "end": "2025-12-19 15:54:36.612750", "msg": "", "rc": 0, "start": "2025-12-19 15:54:36.607262", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010501", "end": "2025-12-19 15:55:12.609493", "msg": "", "rc": 0, "start": "2025-12-19 15:55:12.598992", "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.011549", "end": "2025-12-19 15:55:12.630747", "msg": "", "rc": 0, "start": "2025-12-19 15:55:12.619198", "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.005603", "end": "2025-12-19 15:55:12.858969", "msg": "", "rc": 0, "start": "2025-12-19 15:55:12.853366", "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.006215", "end": "2025-12-19 15:54:39.805488", "msg": "", "rc": 0, "start": "2025-12-19 15:54:39.799273", "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.005433", "end": "2025-12-19 12:55:13.094716", "msg": "", "rc": 0, "start": "2025-12-19 12:55:13.089283", "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.004777", "end": "2025-12-19 15:54:47.114287", "msg": "", "rc": 0, "start": "2025-12-19 15:54:47.109510", "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.005242", "end": "2025-12-19 15:55:13.305119", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.299877", "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.024812", "end": "2025-12-19 15:55:13.241608", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.216796", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021254", "end": "2025-12-19 15:55:14.229620", "msg": "", "rc": 0, "start": "2025-12-19 15:55:14.208366", "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.004293", "end": "2025-12-19 15:55:13.794382", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.790089", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004163", "end": "2025-12-19 15:55:13.799084", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.794921", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004633", "end": "2025-12-19 15:55:13.822970", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.818337", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.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.007537", "end": "2025-12-19 15:55:13.891415", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.883878", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.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.004634", "end": "2025-12-19 15:55:13.907039", "msg": "", "rc": 0, "start": "2025-12-19 15:55:13.902405", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.2%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004021", "end": "2025-12-19 15:54:45.746957", "msg": "", "rc": 0, "start": "2025-12-19 15:54:45.742936", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006306", "end": "2025-12-19 15:54:38.586166", "msg": "", "rc": 0, "start": "2025-12-19 15:54:38.579860", "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.010882", "end": "2025-12-19 15:55:14.476022", "msg": "", "rc": 0, "start": "2025-12-19 15:55:14.465140", "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.012898", "end": "2025-12-19 15:55:14.514480", "msg": "", "rc": 0, "start": "2025-12-19 15:55:14.501582", "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.005764", "end": "2025-12-19 15:55:14.859885", "msg": "", "rc": 0, "start": "2025-12-19 15:55:14.854121", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.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.005180", "end": "2025-12-19 12:55:14.980383", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 12:55:14.975203", "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.004366", "end": "2025-12-19 15:54:48.980624", "msg": "", "rc": 0, "start": "2025-12-19 15:54:48.976258", "stderr": "", "stderr_lines": [], "stdout": "62.6%", "stdout_lines": ["62.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.003955", "end": "2025-12-19 15:54:41.768037", "msg": "", "rc": 0, "start": "2025-12-19 15:54:41.764082", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.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.006131", "end": "2025-12-19 15:55:15.287805", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.281674", "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.025564", "end": "2025-12-19 15:55:15.193229", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.167665", "stderr": "", "stderr_lines": [], "stdout": "21.2%", "stdout_lines": ["21.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.011241", "end": "2025-12-19 15:55:16.343618", "msg": "", "rc": 0, "start": "2025-12-19 15:55:16.332377", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.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.005263", "end": "2025-12-19 15:55:15.717807", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.712544", "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-19 15:55:15.730897", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.726041", "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.006277", "end": "2025-12-19 15:55:15.732954", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.726677", "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.003100", "end": "2025-12-19 15:55:15.770745", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.767645", "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.006205", "end": "2025-12-19 15:55:15.785171", "msg": "", "rc": 0, "start": "2025-12-19 15:55:15.778966", "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.002753", "end": "2025-12-19 15:54:47.591279", "msg": "", "rc": 0, "start": "2025-12-19 15:54:47.588526", "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.003120", "end": "2025-12-19 15:54:40.439889", "msg": "", "rc": 0, "start": "2025-12-19 15:54:40.436769", "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.011770", "end": "2025-12-19 15:55:16.411459", "msg": "", "rc": 0, "start": "2025-12-19 15:55:16.399689", "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.012760", "end": "2025-12-19 15:55:16.428714", "msg": "", "rc": 0, "start": "2025-12-19 15:55:16.415954", "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.003063", "end": "2025-12-19 15:55:16.689780", "msg": "", "rc": 0, "start": "2025-12-19 15:55:16.686717", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003078", "end": "2025-12-19 15:54:43.614826", "msg": "", "rc": 0, "start": "2025-12-19 15:54:43.611748", "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-19 12:55:16.888207", "msg": "", "rc": 0, "start": "2025-12-19 12:55:16.884363", "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.002506", "end": "2025-12-19 15:54:50.923535", "msg": "", "rc": 0, "start": "2025-12-19 15:54:50.921029", "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.002954", "end": "2025-12-19 15:55:17.112706", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.109752", "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.004193", "end": "2025-12-19 15:55:18.375494", "msg": "", "rc": 0, "start": "2025-12-19 15:55:18.371301", "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.029024", "end": "2025-12-19 15:55:17.112687", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.083663", "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.004541", "end": "2025-12-19 15:55:17.635919", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.631378", "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.004122", "end": "2025-12-19 15:55:17.661937", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.657815", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004545", "end": "2025-12-19 15:55:17.667550", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.663005", "stderr": "", "stderr_lines": [], "stdout": "1.22", "stdout_lines": ["1.22"]}
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.005029", "end": "2025-12-19 15:55:17.681962", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.676933", "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.005748", "end": "2025-12-19 15:55:17.695307", "msg": "", "rc": 0, "start": "2025-12-19 15:55:17.689559", "stderr": "", "stderr_lines": [], "stdout": "0.79", "stdout_lines": ["0.79"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004393", "end": "2025-12-19 15:54:49.540249", "msg": "", "rc": 0, "start": "2025-12-19 15:54:49.535856", "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.005444", "end": "2025-12-19 15:54:42.362326", "msg": "", "rc": 0, "start": "2025-12-19 15:54:42.356882", "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.010065", "end": "2025-12-19 15:55:18.422478", "msg": "", "rc": 0, "start": "2025-12-19 15:55:18.412413", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010984", "end": "2025-12-19 15:55:18.471553", "msg": "", "rc": 0, "start": "2025-12-19 15:55:18.460569", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005787", "end": "2025-12-19 15:55:18.638846", "msg": "", "rc": 0, "start": "2025-12-19 15:55:18.633059", "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.005090", "end": "2025-12-19 15:54:45.539519", "msg": "", "rc": 0, "start": "2025-12-19 15:54:45.534429", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.004739", "end": "2025-12-19 15:54:52.905268", "msg": "", "rc": 0, "start": "2025-12-19 15:54:52.900529", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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.006522", "end": "2025-12-19 12:55:18.935577", "msg": "", "rc": 0, "start": "2025-12-19 12:55:18.929055", "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.005688", "end": "2025-12-19 15:55:19.076981", "msg": "", "rc": 0, "start": "2025-12-19 15:55:19.071293", "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.008819", "end": "2025-12-19 15:55:20.533828", "msg": "", "rc": 0, "start": "2025-12-19 15:55:20.525009", "stderr": "", "stderr_lines": [], "stdout": "1.83", "stdout_lines": ["1.83"]}
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.024176", "end": "2025-12-19 15:55:19.027323", "msg": "", "rc": 0, "start": "2025-12-19 15:55:19.003147", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:09 up 24 days, 2:46, 1 user, load average: 0.29, 0.27, 0.18\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.27\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:09 up 6:39, 1 user, load average: 0.66, 0.38, 0.38\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.63\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:09 up 24 days, 3:06, 1 user, load average: 0.81, 0.74, 0.73\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 1.22\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:09 up 24 days, 4:19, 1 user, load average: 0.69, 0.69, 0.70\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.79\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:09 up 24 days, 5:05, 1 user, load average: 0.06, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:10 up 196 days, 7:28, 1 user, load average: 0.29, 0.32, 0.25\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.32\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:11 up 17 days, 5:21, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 21.2%\nCPU Load: 0.35\nCPU Temp: 36.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:10 up 196 days, 7:28, 1 user, load average: 0.30, 0.25, 0.18\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.33\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:54:41 up 13 days, 3:44, 0 user, load average: 0.31, 0.27, 0.19\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:54:34 up 19 days, 23:56, 0 user, load average: 0.00, 0.05, 0.02\nDisk Usage: 25%\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: 15:55:10 up 6:38, 1 user, load average: 0.08, 0.06, 0.02\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:54:37 up 22 days, 18:48, 0 user, load average: 0.73, 0.54, 0.48\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.77\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:54:45 up 19 days, 5:10, 0 user, load average: 0.71, 0.39, 0.31\nDisk Usage: 76%\nMemory Usage: 62.6%\nCPU Load: 0.65\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55PM up 24 days, 2:44, 1 user, load averages: 0.28, 0.27, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:12 up 1:57, 1 user, load average: 1.43, 1.18, 1.16\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.83\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:55:11 up 6:38, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.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-19T20:55:21.506273+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7d3545ba12b34e2592c88e376531ec7f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:00:00.010152+00:00 |
| **Fin** | 2025-12-19T21:00:21.427682+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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.003846", "end": "2025-12-19 16:00:09.955832", "msg": "", "rc": 0, "start": "2025-12-19 16:00:09.951986", "stderr": "", "stderr_lines": [], "stdout": " 16:00:09 up 24 days, 5:10, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:00:09 up 24 days, 5:10, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004498", "end": "2025-12-19 16:00:09.953669", "msg": "", "rc": 0, "start": "2025-12-19 16:00:09.949171", "stderr": "", "stderr_lines": [], "stdout": " 16:00:09 up 24 days, 3:11, 1 user, load average: 1.14, 1.00, 0.86", "stdout_lines": [" 16:00:09 up 24 days, 3:11, 1 user, load average: 1.14, 1.00, 0.86"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003858", "end": "2025-12-19 16:00:09.963431", "msg": "", "rc": 0, "start": "2025-12-19 16:00:09.959573", "stderr": "", "stderr_lines": [], "stdout": " 16:00:09 up 24 days, 4:24, 1 user, load average: 0.67, 0.69, 0.71", "stdout_lines": [" 16:00:09 up 24 days, 4:24, 1 user, load average: 0.67, 0.69, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002843", "end": "2025-12-19 16:00:09.977829", "msg": "", "rc": 0, "start": "2025-12-19 16:00:09.974986", "stderr": "", "stderr_lines": [], "stdout": " 16:00:09 up 6:44, 1 user, load average: 0.27, 0.26, 0.32", "stdout_lines": [" 16:00:09 up 6:44, 1 user, load average: 0.27, 0.26, 0.32"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004230", "end": "2025-12-19 15:59:41.837668", "msg": "", "rc": 0, "start": "2025-12-19 15:59:41.833438", "stderr": "", "stderr_lines": [], "stdout": " 15:59:41 up 13 days, 3:49, 0 user, load average: 0.20, 0.27, 0.21", "stdout_lines": [" 15:59:41 up 13 days, 3:49, 0 user, load average: 0.20, 0.27, 0.21"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008308", "end": "2025-12-19 16:00:10.640195", "msg": "", "rc": 0, "start": "2025-12-19 16:00:10.631887", "stderr": "", "stderr_lines": [], "stdout": " 16:00:10 up 196 days, 7:33, 1 user, load average: 0.17, 0.16, 0.16", "stdout_lines": [" 16:00:10 up 196 days, 7:33, 1 user, load average: 0.17, 0.16, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009174", "end": "2025-12-19 16:00:10.673135", "msg": "", "rc": 0, "start": "2025-12-19 16:00:10.663961", "stderr": "", "stderr_lines": [], "stdout": " 16:00:10 up 196 days, 7:33, 1 user, load average: 0.31, 0.34, 0.28", "stdout_lines": [" 16:00:10 up 196 days, 7:33, 1 user, load average: 0.31, 0.34, 0.28"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004449", "end": "2025-12-19 16:00:10.932600", "msg": "", "rc": 0, "start": "2025-12-19 16:00:09.928151", "stderr": "", "stderr_lines": [], "stdout": " 16:00:09 up 24 days, 2:51, 1 user, load average: 0.20, 0.22, 0.18", "stdout_lines": [" 16:00:09 up 24 days, 2:51, 1 user, load average: 0.20, 0.22, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003830", "end": "2025-12-19 15:59:35.145342", "msg": "", "rc": 0, "start": "2025-12-19 15:59:35.141512", "stderr": "", "stderr_lines": [], "stdout": " 15:59:35 up 20 days, 1 min, 0 user, load average: 0.01, 0.03, 0.00", "stdout_lines": [" 15:59:35 up 20 days, 1 min, 0 user, load average: 0.01, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004589", "end": "2025-12-19 16:00:11.141953", "msg": "", "rc": 0, "start": "2025-12-19 16:00:11.137364", "stderr": "", "stderr_lines": [], "stdout": " 16:00:11 up 6:43, 1 user, load average: 0.08, 0.04, 0.00", "stdout_lines": [" 16:00:11 up 6:43, 1 user, load average: 0.08, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003308", "end": "2025-12-19 15:59:38.022776", "msg": "", "rc": 0, "start": "2025-12-19 15:59:38.019468", "stderr": "", "stderr_lines": [], "stdout": " 15:59:38 up 22 days, 18:53, 0 user, load average: 0.39, 0.51, 0.49", "stdout_lines": [" 15:59:38 up 22 days, 18:53, 0 user, load average: 0.39, 0.51, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006512", "end": "2025-12-19 15:59:45.390013", "msg": "", "rc": 0, "start": "2025-12-19 15:59:45.383501", "stderr": "", "stderr_lines": [], "stdout": " 15:59:45 up 19 days, 5:15, 0 user, load average: 1.10, 0.81, 0.52", "stdout_lines": [" 15:59:45 up 19 days, 5:15, 0 user, load average: 1.10, 0.81, 0.52"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004133", "end": "2025-12-19 13:00:11.438815", "msg": "", "rc": 0, "start": "2025-12-19 13:00:11.434682", "stderr": "", "stderr_lines": [], "stdout": " 1:00PM up 24 days, 2:49, 1 user, load averages: 0.27, 0.31, 0.28", "stdout_lines": [" 1:00PM up 24 days, 2:49, 1 user, load averages: 0.27, 0.31, 0.28"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019477", "end": "2025-12-19 16:00:11.341384", "msg": "", "rc": 0, "start": "2025-12-19 16:00:11.321907", "stderr": "", "stderr_lines": [], "stdout": " 16:00:11 up 17 days, 5:26, 1 user, load average: 0.23, 0.15, 0.10", "stdout_lines": [" 16:00:11 up 17 days, 5:26, 1 user, load average: 0.23, 0.15, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003711", "end": "2025-12-19 16:00:11.560067", "msg": "", "rc": 0, "start": "2025-12-19 16:00:11.556356", "stderr": "", "stderr_lines": [], "stdout": " 16:00:11 up 6:43, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:00:11 up 6:43, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009394", "end": "2025-12-19 16:00:12.192149", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.182755", "stderr": "", "stderr_lines": [], "stdout": " 16:00:12 up 2:02, 1 user, load average: 1.36, 1.20, 1.18", "stdout_lines": [" 16:00:12 up 2:02, 1 user, load average: 1.36, 1.20, 1.18"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004272", "end": "2025-12-19 16:00:11.983997", "msg": "", "rc": 0, "start": "2025-12-19 16:00:11.979725", "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-19 16:00:12.015287", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.011140", "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.004842", "end": "2025-12-19 16:00:12.017126", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.012284", "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.004686", "end": "2025-12-19 16:00:12.043096", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.038410", "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.005757", "end": "2025-12-19 16:00:12.057183", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.051426", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005133", "end": "2025-12-19 15:59:43.855904", "msg": "", "rc": 0, "start": "2025-12-19 15:59:43.850771", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006075", "end": "2025-12-19 15:59:36.699626", "msg": "", "rc": 0, "start": "2025-12-19 15:59:36.693551", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010353", "end": "2025-12-19 16:00:12.725426", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.715073", "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.011367", "end": "2025-12-19 16:00:12.765420", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.754053", "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.005730", "end": "2025-12-19 16:00:12.956203", "msg": "", "rc": 0, "start": "2025-12-19 16:00:12.950473", "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.005494", "end": "2025-12-19 15:59:39.920621", "msg": "", "rc": 0, "start": "2025-12-19 15:59:39.915127", "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.005395", "end": "2025-12-19 13:00:13.220628", "msg": "", "rc": 0, "start": "2025-12-19 13:00:13.215233", "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.007595", "end": "2025-12-19 15:59:47.227334", "msg": "", "rc": 0, "start": "2025-12-19 15:59:47.219739", "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.005309", "end": "2025-12-19 16:00:13.370458", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.365149", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021191", "end": "2025-12-19 16:00:14.269191", "msg": "", "rc": 0, "start": "2025-12-19 16:00:14.248000", "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.025145", "end": "2025-12-19 16:00:13.375411", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.350266", "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-19 16:00:13.882441", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.878250", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004402", "end": "2025-12-19 16:00:13.907136", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.902734", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004840", "end": "2025-12-19 16:00:13.926761", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.921921", "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.005297", "end": "2025-12-19 16:00:13.942205", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.936908", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.006702", "end": "2025-12-19 16:00:13.971506", "msg": "", "rc": 0, "start": "2025-12-19 16:00:13.964804", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003711", "end": "2025-12-19 15:59:45.765077", "msg": "", "rc": 0, "start": "2025-12-19 15:59:45.761366", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005206", "end": "2025-12-19 15:59:38.648091", "msg": "", "rc": 0, "start": "2025-12-19 15:59:38.642885", "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.010874", "end": "2025-12-19 16:00:14.572041", "msg": "", "rc": 0, "start": "2025-12-19 16:00:14.561167", "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.011839", "end": "2025-12-19 16:00:14.622371", "msg": "", "rc": 0, "start": "2025-12-19 16:00:14.610532", "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.005634", "end": "2025-12-19 16:00:14.860944", "msg": "", "rc": 0, "start": "2025-12-19 16:00:14.855310", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.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.005175", "end": "2025-12-19 13:00:15.065835", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:00:15.060660", "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.008448", "end": "2025-12-19 15:59:49.055472", "msg": "", "rc": 0, "start": "2025-12-19 15:59:49.047024", "stderr": "", "stderr_lines": [], "stdout": "60.9%", "stdout_lines": ["60.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007781", "end": "2025-12-19 15:59:41.850737", "msg": "", "rc": 0, "start": "2025-12-19 15:59:41.842956", "stderr": "", "stderr_lines": [], "stdout": "26.9%", "stdout_lines": ["26.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006115", "end": "2025-12-19 16:00:15.292235", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.286120", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009390", "end": "2025-12-19 16:00:16.346615", "msg": "", "rc": 0, "start": "2025-12-19 16:00:16.337225", "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.025726", "end": "2025-12-19 16:00:15.270726", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.245000", "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.005259", "end": "2025-12-19 16:00:15.779540", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.774281", "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.004801", "end": "2025-12-19 16:00:15.806826", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.802025", "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.005852", "end": "2025-12-19 16:00:15.806961", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.801109", "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.003276", "end": "2025-12-19 16:00:15.829951", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.826675", "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.006993", "end": "2025-12-19 16:00:15.865127", "msg": "", "rc": 0, "start": "2025-12-19 16:00:15.858134", "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.002648", "end": "2025-12-19 15:59:47.632815", "msg": "", "rc": 0, "start": "2025-12-19 15:59:47.630167", "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-19 15:59:40.534955", "msg": "", "rc": 0, "start": "2025-12-19 15:59:40.531533", "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.012250", "end": "2025-12-19 16:00:16.483472", "msg": "", "rc": 0, "start": "2025-12-19 16:00:16.471222", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012945", "end": "2025-12-19 16:00:16.510432", "msg": "", "rc": 0, "start": "2025-12-19 16:00:16.497487", "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.003111", "end": "2025-12-19 16:00:16.715491", "msg": "", "rc": 0, "start": "2025-12-19 16:00:16.712380", "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.003011", "end": "2025-12-19 15:59:43.708574", "msg": "", "rc": 0, "start": "2025-12-19 15:59:43.705563", "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.003964", "end": "2025-12-19 13:00:16.968455", "msg": "", "rc": 0, "start": "2025-12-19 13:00:16.964491", "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.002533", "end": "2025-12-19 15:59:50.956218", "msg": "", "rc": 0, "start": "2025-12-19 15:59:50.953685", "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.002903", "end": "2025-12-19 16:00:17.138663", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.135760", "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.004465", "end": "2025-12-19 16:00:18.417125", "msg": "", "rc": 0, "start": "2025-12-19 16:00:18.412660", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028542", "end": "2025-12-19 16:00:17.170663", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.142121", "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.004302", "end": "2025-12-19 16:00:17.693702", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.689400", "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.004035", "end": "2025-12-19 16:00:17.707496", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.703461", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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.005278", "end": "2025-12-19 16:00:17.738744", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.733466", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005848", "end": "2025-12-19 16:00:17.741228", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.735380", "stderr": "", "stderr_lines": [], "stdout": "1.27", "stdout_lines": ["1.27"]}
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.005363", "end": "2025-12-19 16:00:17.752275", "msg": "", "rc": 0, "start": "2025-12-19 16:00:17.746912", "stderr": "", "stderr_lines": [], "stdout": "1.03", "stdout_lines": ["1.03"]}
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.004230", "end": "2025-12-19 15:59:49.600215", "msg": "", "rc": 0, "start": "2025-12-19 15:59:49.595985", "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.005294", "end": "2025-12-19 15:59:42.408872", "msg": "", "rc": 0, "start": "2025-12-19 15:59:42.403578", "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.009948", "end": "2025-12-19 16:00:18.468865", "msg": "", "rc": 0, "start": "2025-12-19 16:00:18.458917", "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.011053", "end": "2025-12-19 16:00:18.493072", "msg": "", "rc": 0, "start": "2025-12-19 16:00:18.482019", "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.005556", "end": "2025-12-19 16:00:18.682659", "msg": "", "rc": 0, "start": "2025-12-19 16:00:18.677103", "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.005132", "end": "2025-12-19 15:59:45.591449", "msg": "", "rc": 0, "start": "2025-12-19 15:59:45.586317", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005849", "end": "2025-12-19 13:00:18.945799", "msg": "", "rc": 0, "start": "2025-12-19 13:00:18.939950", "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.004269", "end": "2025-12-19 15:59:52.952840", "msg": "", "rc": 0, "start": "2025-12-19 15:59:52.948571", "stderr": "", "stderr_lines": [], "stdout": "1.01", "stdout_lines": ["1.01"]}
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.005229", "end": "2025-12-19 16:00:19.097009", "msg": "", "rc": 0, "start": "2025-12-19 16:00:19.091780", "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.009950", "end": "2025-12-19 16:00:20.506931", "msg": "", "rc": 0, "start": "2025-12-19 16:00:20.496981", "stderr": "", "stderr_lines": [], "stdout": "1.78", "stdout_lines": ["1.78"]}
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.024414", "end": "2025-12-19 16:00:19.078690", "msg": "", "rc": 0, "start": "2025-12-19 16:00:19.054276", "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: 16:00:09 up 6:44, 1 user, load average: 0.27, 0.26, 0.32\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.30\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:09 up 24 days, 2:51, 1 user, load average: 0.20, 0.22, 0.18\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:09 up 24 days, 3:11, 1 user, load average: 1.14, 1.00, 0.86\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 1.27\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:09 up 24 days, 4:24, 1 user, load average: 0.67, 0.69, 0.71\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 1.03\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:09 up 24 days, 5:10, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:11 up 17 days, 5:26, 1 user, load average: 0.23, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.27\nCPU Temp: 36.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:10 up 196 days, 7:33, 1 user, load average: 0.31, 0.34, 0.28\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: 16:00:10 up 196 days, 7:33, 1 user, load average: 0.17, 0.16, 0.16\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.15\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:59:41 up 13 days, 3:49, 0 user, load average: 0.20, 0.27, 0.21\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:59:35 up 20 days, 1 min, 0 user, load average: 0.01, 0.03, 0.00\nDisk Usage: 25%\nMemory Usage: 64.6%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:11 up 6:43, 1 user, load average: 0.08, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:59:38 up 22 days, 18:53, 0 user, load average: 0.39, 0.51, 0.49\nDisk Usage: 28%\nMemory Usage: 26.9%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:59:45 up 19 days, 5:15, 0 user, load average: 1.10, 0.81, 0.52\nDisk Usage: 76%\nMemory Usage: 60.9%\nCPU Load: 1.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:00PM up 24 days, 2:49, 1 user, load averages: 0.27, 0.31, 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: 16:00:11 up 6:43, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:00:12 up 2:02, 1 user, load average: 1.36, 1.20, 1.18\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.78\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T21:00:21.481595+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `baceb1280715488e8ee6ae1c2feab0e6` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:05:00.002205+00:00 |
| **Fin** | 2025-12-19T21:05:20.999857+00:00 |
| **Durée** | 21.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.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: [hp3.i5.home]
ok: [ali2v.xeon.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: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003623", "end": "2025-12-19 16:05:10.524206", "msg": "", "rc": 0, "start": "2025-12-19 16:05:10.520583", "stderr": "", "stderr_lines": [], "stdout": " 16:05:10 up 24 days, 2:56, 1 user, load average: 0.07, 0.14, 0.16", "stdout_lines": [" 16:05:10 up 24 days, 2:56, 1 user, load average: 0.07, 0.14, 0.16"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003966", "end": "2025-12-19 16:05:10.530582", "msg": "", "rc": 0, "start": "2025-12-19 16:05:10.526616", "stderr": "", "stderr_lines": [], "stdout": " 16:05:10 up 24 days, 5:15, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:05:10 up 24 days, 5:15, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003818", "end": "2025-12-19 16:05:10.540015", "msg": "", "rc": 0, "start": "2025-12-19 16:05:10.536197", "stderr": "", "stderr_lines": [], "stdout": " 16:05:10 up 24 days, 3:16, 1 user, load average: 1.54, 1.35, 1.04", "stdout_lines": [" 16:05:10 up 24 days, 3:16, 1 user, load average: 1.54, 1.35, 1.04"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002889", "end": "2025-12-19 16:05:10.557368", "msg": "", "rc": 0, "start": "2025-12-19 16:05:10.554479", "stderr": "", "stderr_lines": [], "stdout": " 16:05:10 up 6:49, 1 user, load average: 0.10, 0.20, 0.27", "stdout_lines": [" 16:05:10 up 6:49, 1 user, load average: 0.10, 0.20, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004108", "end": "2025-12-19 16:05:10.557078", "msg": "", "rc": 0, "start": "2025-12-19 16:05:10.552970", "stderr": "", "stderr_lines": [], "stdout": " 16:05:10 up 24 days, 4:29, 1 user, load average: 0.82, 0.74, 0.73", "stdout_lines": [" 16:05:10 up 24 days, 4:29, 1 user, load average: 0.82, 0.74, 0.73"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003950", "end": "2025-12-19 16:04:42.417193", "msg": "", "rc": 0, "start": "2025-12-19 16:04:42.413243", "stderr": "", "stderr_lines": [], "stdout": " 16:04:42 up 13 days, 3:54, 0 user, load average: 0.10, 0.15, 0.16", "stdout_lines": [" 16:04:42 up 13 days, 3:54, 0 user, load average: 0.10, 0.15, 0.16"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003567", "end": "2025-12-19 16:04:35.243362", "msg": "", "rc": 0, "start": "2025-12-19 16:04:35.239795", "stderr": "", "stderr_lines": [], "stdout": " 16:04:35 up 20 days, 6 min, 0 user, load average: 0.12, 0.03, 0.01", "stdout_lines": [" 16:04:35 up 20 days, 6 min, 0 user, load average: 0.12, 0.03, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008394", "end": "2025-12-19 16:05:11.231627", "msg": "", "rc": 0, "start": "2025-12-19 16:05:11.223233", "stderr": "", "stderr_lines": [], "stdout": " 16:05:11 up 196 days, 7:38, 1 user, load average: 0.16, 0.14, 0.15", "stdout_lines": [" 16:05:11 up 196 days, 7:38, 1 user, load average: 0.16, 0.14, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009392", "end": "2025-12-19 16:05:11.248667", "msg": "", "rc": 0, "start": "2025-12-19 16:05:11.239275", "stderr": "", "stderr_lines": [], "stdout": " 16:05:11 up 196 days, 7:38, 1 user, load average: 0.31, 0.29, 0.27", "stdout_lines": [" 16:05:11 up 196 days, 7:38, 1 user, load average: 0.31, 0.29, 0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004521", "end": "2025-12-19 16:05:11.527711", "msg": "", "rc": 0, "start": "2025-12-19 16:05:11.523190", "stderr": "", "stderr_lines": [], "stdout": " 16:05:11 up 6:48, 1 user, load average: 0.11, 0.08, 0.02", "stdout_lines": [" 16:05:11 up 6:48, 1 user, load average: 0.11, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003399", "end": "2025-12-19 16:04:38.427832", "msg": "", "rc": 0, "start": "2025-12-19 16:04:38.424433", "stderr": "", "stderr_lines": [], "stdout": " 16:04:38 up 22 days, 18:58, 0 user, load average: 0.38, 0.46, 0.47", "stdout_lines": [" 16:04:38 up 22 days, 18:58, 0 user, load average: 0.38, 0.46, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004118", "end": "2025-12-19 13:05:11.704749", "msg": "", "rc": 0, "start": "2025-12-19 13:05:11.700631", "stderr": "", "stderr_lines": [], "stdout": " 1:05PM up 24 days, 2:54, 1 user, load averages: 0.53, 0.39, 0.32", "stdout_lines": [" 1:05PM up 24 days, 2:54, 1 user, load averages: 0.53, 0.39, 0.32"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005316", "end": "2025-12-19 16:04:45.731733", "msg": "", "rc": 0, "start": "2025-12-19 16:04:45.726417", "stderr": "", "stderr_lines": [], "stdout": " 16:04:45 up 19 days, 5:20, 0 user, load average: 0.96, 0.90, 0.64", "stdout_lines": [" 16:04:45 up 19 days, 5:20, 0 user, load average: 0.96, 0.90, 0.64"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003711", "end": "2025-12-19 16:05:11.941318", "msg": "", "rc": 0, "start": "2025-12-19 16:05:11.937607", "stderr": "", "stderr_lines": [], "stdout": " 16:05:11 up 6:48, 1 user, load average: 0.13, 0.04, 0.01", "stdout_lines": [" 16:05:11 up 6:48, 1 user, load average: 0.13, 0.04, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007506", "end": "2025-12-19 16:05:14.611657", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.604151", "stderr": "", "stderr_lines": [], "stdout": " 16:05:14 up 2:08, 1 user, load average: 1.73, 1.31, 1.22", "stdout_lines": [" 16:05:14 up 2:08, 1 user, load average: 1.73, 1.31, 1.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019298", "end": "2025-12-19 16:05:11.902908", "msg": "", "rc": 0, "start": "2025-12-19 16:05:11.883610", "stderr": "", "stderr_lines": [], "stdout": " 16:05:11 up 17 days, 5:31, 1 user, load average: 0.24, 0.16, 0.10", "stdout_lines": [" 16:05:11 up 17 days, 5:31, 1 user, load average: 0.24, 0.16, 0.10"]}
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-19 16:05:12.426468", "msg": "", "rc": 0, "start": "2025-12-19 16:05:12.422323", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004136", "end": "2025-12-19 16:05:12.436489", "msg": "", "rc": 0, "start": "2025-12-19 16:05:12.432353", "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.004923", "end": "2025-12-19 16:05:12.464212", "msg": "", "rc": 0, "start": "2025-12-19 16:05:12.459289", "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.004883", "end": "2025-12-19 16:05:12.462094", "msg": "", "rc": 0, "start": "2025-12-19 16:05:12.457211", "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.005379", "end": "2025-12-19 16:05:12.474536", "msg": "", "rc": 0, "start": "2025-12-19 16:05:12.469157", "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.006232", "end": "2025-12-19 16:04:44.347786", "msg": "", "rc": 0, "start": "2025-12-19 16:04:44.341554", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006829", "end": "2025-12-19 16:04:37.120285", "msg": "", "rc": 0, "start": "2025-12-19 16:04:37.113456", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010507", "end": "2025-12-19 16:05:13.156705", "msg": "", "rc": 0, "start": "2025-12-19 16:05:13.146198", "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.011589", "end": "2025-12-19 16:05:13.201111", "msg": "", "rc": 0, "start": "2025-12-19 16:05:13.189522", "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.005624", "end": "2025-12-19 16:05:13.459866", "msg": "", "rc": 0, "start": "2025-12-19 16:05:13.454242", "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.005211", "end": "2025-12-19 16:04:40.293976", "msg": "", "rc": 0, "start": "2025-12-19 16:04:40.288765", "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.005054", "end": "2025-12-19 16:04:47.632059", "msg": "", "rc": 0, "start": "2025-12-19 16:04:47.627005", "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.005552", "end": "2025-12-19 13:05:13.659700", "msg": "", "rc": 0, "start": "2025-12-19 13:05:13.654148", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022505", "end": "2025-12-19 16:05:16.695554", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.673049", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005305", "end": "2025-12-19 16:05:13.884571", "msg": "", "rc": 0, "start": "2025-12-19 16:05:13.879266", "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.025502", "end": "2025-12-19 16:05:13.811644", "msg": "", "rc": 0, "start": "2025-12-19 16:05:13.786142", "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.004296", "end": "2025-12-19 16:05:14.324715", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.320419", "stderr": "", "stderr_lines": [], "stdout": "76.3%", "stdout_lines": ["76.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.004139", "end": "2025-12-19 16:05:14.330783", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.326644", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004585", "end": "2025-12-19 16:05:14.338216", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.333631", "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.004868", "end": "2025-12-19 16:05:14.382468", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.377600", "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.005517", "end": "2025-12-19 16:05:14.390718", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.385201", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003694", "end": "2025-12-19 16:04:46.180577", "msg": "", "rc": 0, "start": "2025-12-19 16:04:46.176883", "stderr": "", "stderr_lines": [], "stdout": "70.2%", "stdout_lines": ["70.2%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009659", "end": "2025-12-19 16:04:39.054559", "msg": "", "rc": 0, "start": "2025-12-19 16:04:39.044900", "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.010842", "end": "2025-12-19 16:05:14.998922", "msg": "", "rc": 0, "start": "2025-12-19 16:05:14.988080", "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.011900", "end": "2025-12-19 16:05:15.036283", "msg": "", "rc": 0, "start": "2025-12-19 16:05:15.024383", "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-19 16:05:15.263498", "msg": "", "rc": 0, "start": "2025-12-19 16:05:15.257739", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.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.005469", "end": "2025-12-19 16:04:49.479491", "msg": "", "rc": 0, "start": "2025-12-19 16:04:49.474022", "stderr": "", "stderr_lines": [], "stdout": "57.5%", "stdout_lines": ["57.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.004679", "end": "2025-12-19 16:04:42.253537", "msg": "", "rc": 0, "start": "2025-12-19 16:04:42.248858", "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.006289", "end": "2025-12-19 13:05:15.512059", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:05:15.505770", "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.005391", "end": "2025-12-19 16:05:15.692981", "msg": "", "rc": 0, "start": "2025-12-19 16:05:15.687590", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.009170", "end": "2025-12-19 16:05:15.876359", "msg": "", "rc": 0, "start": "2025-12-19 16:05:15.867189", "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.025692", "end": "2025-12-19 16:05:15.705814", "msg": "", "rc": 0, "start": "2025-12-19 16:05:15.680122", "stderr": "", "stderr_lines": [], "stdout": "21.2%", "stdout_lines": ["21.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005312", "end": "2025-12-19 16:05:16.227066", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.221754", "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.004925", "end": "2025-12-19 16:05:16.246076", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.241151", "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.005869", "end": "2025-12-19 16:05:16.259615", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.253746", "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.002962", "end": "2025-12-19 16:05:16.284667", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.281705", "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.007130", "end": "2025-12-19 16:05:16.306848", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.299718", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002619", "end": "2025-12-19 16:04:48.109195", "msg": "", "rc": 0, "start": "2025-12-19 16:04:48.106576", "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.003153", "end": "2025-12-19 16:04:40.983485", "msg": "", "rc": 0, "start": "2025-12-19 16:04:40.980332", "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.011853", "end": "2025-12-19 16:05:16.915664", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.903811", "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.013024", "end": "2025-12-19 16:05:16.952379", "msg": "", "rc": 0, "start": "2025-12-19 16:05:16.939355", "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.003139", "end": "2025-12-19 16:05:17.214528", "msg": "", "rc": 0, "start": "2025-12-19 16:05:17.211389", "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.002670", "end": "2025-12-19 16:04:51.396470", "msg": "", "rc": 0, "start": "2025-12-19 16:04:51.393800", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003840", "end": "2025-12-19 13:05:17.424699", "msg": "", "rc": 0, "start": "2025-12-19 13:05:17.420859", "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.003046", "end": "2025-12-19 16:04:44.181007", "msg": "", "rc": 0, "start": "2025-12-19 16:04:44.177961", "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.002919", "end": "2025-12-19 16:05:17.642070", "msg": "", "rc": 0, "start": "2025-12-19 16:05:17.639151", "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.004708", "end": "2025-12-19 16:05:17.993401", "msg": "", "rc": 0, "start": "2025-12-19 16:05:17.988693", "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.028682", "end": "2025-12-19 16:05:17.610886", "msg": "", "rc": 0, "start": "2025-12-19 16:05:17.582204", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004075", "end": "2025-12-19 16:05:18.131823", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.127748", "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.004134", "end": "2025-12-19 16:05:18.161432", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.157298", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004981", "end": "2025-12-19 16:05:18.177170", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.172189", "stderr": "", "stderr_lines": [], "stdout": "1.68", "stdout_lines": ["1.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.005458", "end": "2025-12-19 16:05:18.192067", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.186609", "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.005645", "end": "2025-12-19 16:05:18.200491", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.194846", "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.004977", "end": "2025-12-19 16:04:50.073482", "msg": "", "rc": 0, "start": "2025-12-19 16:04:50.068505", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005596", "end": "2025-12-19 16:04:42.878238", "msg": "", "rc": 0, "start": "2025-12-19 16:04:42.872642", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010157", "end": "2025-12-19 16:05:18.941308", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.931151", "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.011200", "end": "2025-12-19 16:05:18.960246", "msg": "", "rc": 0, "start": "2025-12-19 16:05:18.949046", "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.005629", "end": "2025-12-19 16:05:19.175026", "msg": "", "rc": 0, "start": "2025-12-19 16:05:19.169397", "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.005460", "end": "2025-12-19 16:04:46.061902", "msg": "", "rc": 0, "start": "2025-12-19 16:04:46.056442", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006290", "end": "2025-12-19 13:05:19.429887", "msg": "", "rc": 0, "start": "2025-12-19 13:05:19.423597", "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.004912", "end": "2025-12-19 16:04:53.439695", "msg": "", "rc": 0, "start": "2025-12-19 16:04:53.434783", "stderr": "", "stderr_lines": [], "stdout": "0.96", "stdout_lines": ["0.96"]}
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.005315", "end": "2025-12-19 16:05:19.618247", "msg": "", "rc": 0, "start": "2025-12-19 16:05:19.612932", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009300", "end": "2025-12-19 16:05:20.098444", "msg": "", "rc": 0, "start": "2025-12-19 16:05:20.089144", "stderr": "", "stderr_lines": [], "stdout": "1.92", "stdout_lines": ["1.92"]}
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.024482", "end": "2025-12-19 16:05:19.518508", "msg": "", "rc": 0, "start": "2025-12-19 16:05:19.494026", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:10 up 24 days, 2:56, 1 user, load average: 0.07, 0.14, 0.16\nDisk Usage: 23%\nMemory Usage: 76.3%\nCPU Load: 0.06\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:10 up 24 days, 3:16, 1 user, load average: 1.54, 1.35, 1.04\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 1.68\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:10 up 6:49, 1 user, load average: 0.10, 0.20, 0.27\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.15\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:10 up 24 days, 4:29, 1 user, load average: 0.82, 0.74, 0.73\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.83\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:10 up 24 days, 5: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: 16:05:11 up 17 days, 5:31, 1 user, load average: 0.24, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 21.2%\nCPU Load: 0.36\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:11 up 196 days, 7:38, 1 user, load average: 0.31, 0.29, 0.27\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.33\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:11 up 196 days, 7:38, 1 user, load average: 0.16, 0.14, 0.15\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.29\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:04:42 up 13 days, 3:54, 0 user, load average: 0.10, 0.15, 0.16\nDisk Usage: 50%\nMemory Usage: 70.2%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:11 up 6:48, 1 user, load average: 0.11, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:04:35 up 20 days, 6 min, 0 user, load average: 0.12, 0.03, 0.01\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:04:38 up 22 days, 18:58, 0 user, load average: 0.38, 0.46, 0.47\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:04:45 up 19 days, 5:20, 0 user, load average: 0.96, 0.90, 0.64\nDisk Usage: 76%\nMemory Usage: 57.5%\nCPU Load: 0.96\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:05PM up 24 days, 2:54, 1 user, load averages: 0.53, 0.39, 0.32\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: 16:05:11 up 6:48, 1 user, load average: 0.13, 0.04, 0.01\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:05:14 up 2:08, 1 user, load average: 1.73, 1.31, 1.22\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.92\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-19T21:05:21.059563+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `b8664c46d0b941f0937feb34afe181f2` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:10:00.002178+00:00 |
| **Fin** | 2025-12-19T21:10:21.310538+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [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.003810", "end": "2025-12-19 16:10:10.758372", "msg": "", "rc": 0, "start": "2025-12-19 16:10:10.754562", "stderr": "", "stderr_lines": [], "stdout": " 16:10:10 up 24 days, 3:21, 1 user, load average: 0.86, 1.05, 0.99", "stdout_lines": [" 16:10:10 up 24 days, 3:21, 1 user, load average: 0.86, 1.05, 0.99"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003222", "end": "2025-12-19 16:10:10.755345", "msg": "", "rc": 0, "start": "2025-12-19 16:10:10.752123", "stderr": "", "stderr_lines": [], "stdout": " 16:10:10 up 24 days, 3:01, 1 user, load average: 0.07, 0.13, 0.15", "stdout_lines": [" 16:10:10 up 24 days, 3:01, 1 user, load average: 0.07, 0.13, 0.15"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004011", "end": "2025-12-19 16:10:10.767251", "msg": "", "rc": 0, "start": "2025-12-19 16:10:10.763240", "stderr": "", "stderr_lines": [], "stdout": " 16:10:10 up 24 days, 5:20, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 16:10:10 up 24 days, 5:20, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003849", "end": "2025-12-19 16:10:10.785334", "msg": "", "rc": 0, "start": "2025-12-19 16:10:10.781485", "stderr": "", "stderr_lines": [], "stdout": " 16:10:10 up 24 days, 4:34, 1 user, load average: 0.81, 0.75, 0.73", "stdout_lines": [" 16:10:10 up 24 days, 4:34, 1 user, load average: 0.81, 0.75, 0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002871", "end": "2025-12-19 16:10:10.795293", "msg": "", "rc": 0, "start": "2025-12-19 16:10:10.792422", "stderr": "", "stderr_lines": [], "stdout": " 16:10:10 up 6:54, 1 user, load average: 0.07, 0.16, 0.24", "stdout_lines": [" 16:10:10 up 6:54, 1 user, load average: 0.07, 0.16, 0.24"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003117", "end": "2025-12-19 16:09:42.631289", "msg": "", "rc": 0, "start": "2025-12-19 16:09:42.628172", "stderr": "", "stderr_lines": [], "stdout": " 16:09:42 up 13 days, 3:59, 0 user, load average: 0.04, 0.09, 0.14", "stdout_lines": [" 16:09:42 up 13 days, 3:59, 0 user, load average: 0.04, 0.09, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003212", "end": "2025-12-19 16:09:35.450758", "msg": "", "rc": 0, "start": "2025-12-19 16:09:35.447546", "stderr": "", "stderr_lines": [], "stdout": " 16:09:35 up 20 days, 11 min, 0 user, load average: 0.27, 0.11, 0.02", "stdout_lines": [" 16:09:35 up 20 days, 11 min, 0 user, load average: 0.27, 0.11, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008449", "end": "2025-12-19 16:10:11.448580", "msg": "", "rc": 0, "start": "2025-12-19 16:10:11.440131", "stderr": "", "stderr_lines": [], "stdout": " 16:10:11 up 196 days, 7:43, 1 user, load average: 0.42, 0.22, 0.18", "stdout_lines": [" 16:10:11 up 196 days, 7:43, 1 user, load average: 0.42, 0.22, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009356", "end": "2025-12-19 16:10:11.491485", "msg": "", "rc": 0, "start": "2025-12-19 16:10:11.482129", "stderr": "", "stderr_lines": [], "stdout": " 16:10:11 up 196 days, 7:43, 1 user, load average: 0.39, 0.31, 0.28", "stdout_lines": [" 16:10:11 up 196 days, 7:43, 1 user, load average: 0.39, 0.31, 0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004439", "end": "2025-12-19 16:10:11.730079", "msg": "", "rc": 0, "start": "2025-12-19 16:10:11.725640", "stderr": "", "stderr_lines": [], "stdout": " 16:10:11 up 6:53, 1 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 16:10:11 up 6:53, 1 user, load average: 0.07, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003136", "end": "2025-12-19 16:09:38.627412", "msg": "", "rc": 0, "start": "2025-12-19 16:09:38.624276", "stderr": "", "stderr_lines": [], "stdout": " 16:09:38 up 22 days, 19:03, 0 user, load average: 0.65, 0.52, 0.48", "stdout_lines": [" 16:09:38 up 22 days, 19:03, 0 user, load average: 0.65, 0.52, 0.48"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002751", "end": "2025-12-19 16:09:45.915367", "msg": "", "rc": 0, "start": "2025-12-19 16:09:45.912616", "stderr": "", "stderr_lines": [], "stdout": " 16:09:45 up 19 days, 5:25, 0 user, load average: 0.20, 0.51, 0.55", "stdout_lines": [" 16:09:45 up 19 days, 5:25, 0 user, load average: 0.20, 0.51, 0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004168", "end": "2025-12-19 13:10:11.953796", "msg": "", "rc": 0, "start": "2025-12-19 13:10:11.949628", "stderr": "", "stderr_lines": [], "stdout": " 1:10PM up 24 days, 2:59, 1 user, load averages: 0.29, 0.25, 0.25", "stdout_lines": [" 1:10PM up 24 days, 2:59, 1 user, load averages: 0.29, 0.25, 0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003715", "end": "2025-12-19 16:10:12.195971", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.192256", "stderr": "", "stderr_lines": [], "stdout": " 16:10:12 up 6:53, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 16:10:12 up 6:53, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008354", "end": "2025-12-19 16:10:14.914964", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.906610", "stderr": "", "stderr_lines": [], "stdout": " 16:10:14 up 2:13, 1 user, load average: 1.25, 1.21, 1.19", "stdout_lines": [" 16:10:14 up 2:13, 1 user, load average: 1.25, 1.21, 1.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019525", "end": "2025-12-19 16:10:12.142094", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.122569", "stderr": "", "stderr_lines": [], "stdout": " 16:10:12 up 17 days, 5:36, 1 user, load average: 0.23, 0.17, 0.11", "stdout_lines": [" 16:10:12 up 17 days, 5:36, 1 user, load average: 0.23, 0.17, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004097", "end": "2025-12-19 16:10:12.662413", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.658316", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004062", "end": "2025-12-19 16:10:12.688807", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.684745", "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.004775", "end": "2025-12-19 16:10:12.697584", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.692809", "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.005050", "end": "2025-12-19 16:10:12.720735", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.715685", "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.005887", "end": "2025-12-19 16:10:12.737256", "msg": "", "rc": 0, "start": "2025-12-19 16:10:12.731369", "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.005129", "end": "2025-12-19 16:09:44.537981", "msg": "", "rc": 0, "start": "2025-12-19 16:09:44.532852", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006501", "end": "2025-12-19 16:09:37.381305", "msg": "", "rc": 0, "start": "2025-12-19 16:09:37.374804", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010474", "end": "2025-12-19 16:10:13.414782", "msg": "", "rc": 0, "start": "2025-12-19 16:10:13.404308", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011685", "end": "2025-12-19 16:10:13.444696", "msg": "", "rc": 0, "start": "2025-12-19 16:10:13.433011", "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.005720", "end": "2025-12-19 16:10:13.643290", "msg": "", "rc": 0, "start": "2025-12-19 16:10:13.637570", "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.005087", "end": "2025-12-19 16:09:40.576780", "msg": "", "rc": 0, "start": "2025-12-19 16:09:40.571693", "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.005357", "end": "2025-12-19 13:10:13.908335", "msg": "", "rc": 0, "start": "2025-12-19 13:10:13.902978", "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.004567", "end": "2025-12-19 16:09:47.887467", "msg": "", "rc": 0, "start": "2025-12-19 16:09:47.882900", "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.005217", "end": "2025-12-19 16:10:14.058114", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.052897", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021788", "end": "2025-12-19 16:10:17.060523", "msg": "", "rc": 0, "start": "2025-12-19 16:10:17.038735", "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.025273", "end": "2025-12-19 16:10:14.043970", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.018697", "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.004239", "end": "2025-12-19 16:10:14.563347", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.559108", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004344", "end": "2025-12-19 16:10:14.580003", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.575659", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004870", "end": "2025-12-19 16:10:14.594113", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.589243", "stderr": "", "stderr_lines": [], "stdout": "48.9%", "stdout_lines": ["48.9%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004690", "end": "2025-12-19 16:10:14.617856", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.613166", "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.005659", "end": "2025-12-19 16:10:14.626348", "msg": "", "rc": 0, "start": "2025-12-19 16:10:14.620689", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003900", "end": "2025-12-19 16:09:46.438961", "msg": "", "rc": 0, "start": "2025-12-19 16:09:46.435061", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004709", "end": "2025-12-19 16:09:39.265950", "msg": "", "rc": 0, "start": "2025-12-19 16:09:39.261241", "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.010849", "end": "2025-12-19 16:10:15.246817", "msg": "", "rc": 0, "start": "2025-12-19 16:10:15.235968", "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.011893", "end": "2025-12-19 16:10:15.289740", "msg": "", "rc": 0, "start": "2025-12-19 16:10:15.277847", "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.005727", "end": "2025-12-19 16:10:15.557244", "msg": "", "rc": 0, "start": "2025-12-19 16:10:15.551517", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.003849", "end": "2025-12-19 16:09:42.445076", "msg": "", "rc": 0, "start": "2025-12-19 16:09:42.441227", "stderr": "", "stderr_lines": [], "stdout": "28.0%", "stdout_lines": ["28.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.005117", "end": "2025-12-19 13:10:15.757748", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:10:15.752631", "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.004053", "end": "2025-12-19 16:09:49.735077", "msg": "", "rc": 0, "start": "2025-12-19 16:09:49.731024", "stderr": "", "stderr_lines": [], "stdout": "55.8%", "stdout_lines": ["55.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.005366", "end": "2025-12-19 16:10:15.976700", "msg": "", "rc": 0, "start": "2025-12-19 16:10:15.971334", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.009283", "end": "2025-12-19 16:10:16.187114", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.177831", "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.026280", "end": "2025-12-19 16:10:15.955506", "msg": "", "rc": 0, "start": "2025-12-19 16:10:15.929226", "stderr": "", "stderr_lines": [], "stdout": "21.2%", "stdout_lines": ["21.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005247", "end": "2025-12-19 16:10:16.457394", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.452147", "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.004979", "end": "2025-12-19 16:10:16.473669", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.468690", "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.005608", "end": "2025-12-19 16:10:16.492785", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.487177", "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.003544", "end": "2025-12-19 16:10:16.512048", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.508504", "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.006910", "end": "2025-12-19 16:10:16.540405", "msg": "", "rc": 0, "start": "2025-12-19 16:10:16.533495", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002691", "end": "2025-12-19 16:09:48.308537", "msg": "", "rc": 0, "start": "2025-12-19 16:09:48.305846", "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-19 16:09:41.198520", "msg": "", "rc": 0, "start": "2025-12-19 16:09:41.195284", "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-19 16:10:17.142792", "msg": "", "rc": 0, "start": "2025-12-19 16:10:17.130986", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.016158", "end": "2025-12-19 16:10:17.187210", "msg": "", "rc": 0, "start": "2025-12-19 16:10:17.171052", "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.003190", "end": "2025-12-19 16:10:17.392376", "msg": "", "rc": 0, "start": "2025-12-19 16:10:17.389186", "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-19 16:09:51.609518", "msg": "", "rc": 0, "start": "2025-12-19 16:09:51.606870", "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.003898", "end": "2025-12-19 13:10:17.656205", "msg": "", "rc": 0, "start": "2025-12-19 13:10:17.652307", "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.003070", "end": "2025-12-19 16:09:44.397227", "msg": "", "rc": 0, "start": "2025-12-19 16:09:44.394157", "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.002926", "end": "2025-12-19 16:10:17.812968", "msg": "", "rc": 0, "start": "2025-12-19 16:10:17.810042", "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.004626", "end": "2025-12-19 16:10:18.300012", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.295386", "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.028607", "end": "2025-12-19 16:10:17.851653", "msg": "", "rc": 0, "start": "2025-12-19 16:10:17.823046", "stderr": "", "stderr_lines": [], "stdout": "36.8°C", "stdout_lines": ["36.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.004075", "end": "2025-12-19 16:10:18.374103", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.370028", "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.004090", "end": "2025-12-19 16:10:18.382525", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.378435", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.005077", "end": "2025-12-19 16:10:18.423523", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.418446", "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.004748", "end": "2025-12-19 16:10:18.424242", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.419494", "stderr": "", "stderr_lines": [], "stdout": "1.11", "stdout_lines": ["1.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.006419", "end": "2025-12-19 16:10:18.445098", "msg": "", "rc": 0, "start": "2025-12-19 16:10:18.438679", "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.004024", "end": "2025-12-19 16:09:50.277673", "msg": "", "rc": 0, "start": "2025-12-19 16:09:50.273649", "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.005532", "end": "2025-12-19 16:09:43.115263", "msg": "", "rc": 0, "start": "2025-12-19 16:09:43.109731", "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.010124", "end": "2025-12-19 16:10:19.171999", "msg": "", "rc": 0, "start": "2025-12-19 16:10:19.161875", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
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.011228", "end": "2025-12-19 16:10:19.186696", "msg": "", "rc": 0, "start": "2025-12-19 16:10:19.175468", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005529", "end": "2025-12-19 16:10:19.380490", "msg": "", "rc": 0, "start": "2025-12-19 16:10:19.374961", "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.005096", "end": "2025-12-19 16:09:46.303758", "msg": "", "rc": 0, "start": "2025-12-19 16:09:46.298662", "stderr": "", "stderr_lines": [], "stdout": "0.71", "stdout_lines": ["0.71"]}
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.006602", "end": "2025-12-19 13:10:19.656317", "msg": "", "rc": 0, "start": "2025-12-19 13:10:19.649715", "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.004333", "end": "2025-12-19 16:09:53.645391", "msg": "", "rc": 0, "start": "2025-12-19 16:09:53.641058", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005213", "end": "2025-12-19 16:10:19.806054", "msg": "", "rc": 0, "start": "2025-12-19 16:10:19.800841", "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.008320", "end": "2025-12-19 16:10:20.420337", "msg": "", "rc": 0, "start": "2025-12-19 16:10:20.412017", "stderr": "", "stderr_lines": [], "stdout": "1.51", "stdout_lines": ["1.51"]}
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.024424", "end": "2025-12-19 16:10:19.760800", "msg": "", "rc": 0, "start": "2025-12-19 16:10:19.736376", "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: 16:10:10 up 6:54, 1 user, load average: 0.07, 0.16, 0.24\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.14\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:10 up 24 days, 3:01, 1 user, load average: 0.07, 0.13, 0.15\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.06\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:10 up 24 days, 3:21, 1 user, load average: 0.86, 1.05, 0.99\nDisk Usage: 14%\nMemory Usage: 48.9%\nCPU Load: 1.11\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:10 up 24 days, 4:34, 1 user, load average: 0.81, 0.75, 0.73\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.83\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:10 up 24 days, 5:20, 1 user, load average: 0.01, 0.02, 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: 16:10:12 up 17 days, 5:36, 1 user, load average: 0.23, 0.17, 0.11\nDisk Usage: 21%\nMemory Usage: 21.2%\nCPU Load: 0.35\nCPU Temp: 36.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:11 up 196 days, 7:43, 1 user, load average: 0.39, 0.31, 0.28\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.41\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:11 up 196 days, 7:43, 1 user, load average: 0.42, 0.22, 0.18\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.44\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:09:42 up 13 days, 3:59, 0 user, load average: 0.04, 0.09, 0.14\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:09:35 up 20 days, 11 min, 0 user, load average: 0.27, 0.11, 0.02\nDisk Usage: 25%\nMemory Usage: 64.8%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:11 up 6:53, 1 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:09:38 up 22 days, 19:03, 0 user, load average: 0.65, 0.52, 0.48\nDisk Usage: 28%\nMemory Usage: 28.0%\nCPU Load: 0.71\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:09:45 up 19 days, 5:25, 0 user, load average: 0.20, 0.51, 0.55\nDisk Usage: 76%\nMemory Usage: 55.8%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:10PM up 24 days, 2:59, 1 user, load averages: 0.29, 0.25, 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: 16:10:12 up 6:53, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:10:14 up 2:13, 1 user, load average: 1.25, 1.21, 1.19\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.51\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-19T21:10:21.523186+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `03924dc2b0254434b0fa826c9de5218b` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:15:00.009891+00:00 |
| **Fin** | 2025-12-19T21:15:20.998619+00:00 |
| **Durée** | 21.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003266", "end": "2025-12-19 16:15:10.854895", "msg": "", "rc": 0, "start": "2025-12-19 16:15:10.851629", "stderr": "", "stderr_lines": [], "stdout": " 16:15:10 up 24 days, 3:06, 1 user, load average: 0.09, 0.11, 0.13", "stdout_lines": [" 16:15:10 up 24 days, 3:06, 1 user, load average: 0.09, 0.11, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003618", "end": "2025-12-19 16:15:10.868335", "msg": "", "rc": 0, "start": "2025-12-19 16:15:10.864717", "stderr": "", "stderr_lines": [], "stdout": " 16:15:10 up 24 days, 5:25, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 16:15:10 up 24 days, 5:25, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003276", "end": "2025-12-19 16:15:10.865644", "msg": "", "rc": 0, "start": "2025-12-19 16:15:10.862368", "stderr": "", "stderr_lines": [], "stdout": " 16:15:10 up 24 days, 3:26, 1 user, load average: 0.99, 0.89, 0.92", "stdout_lines": [" 16:15:10 up 24 days, 3:26, 1 user, load average: 0.99, 0.89, 0.92"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004109", "end": "2025-12-19 16:15:10.885557", "msg": "", "rc": 0, "start": "2025-12-19 16:15:10.881448", "stderr": "", "stderr_lines": [], "stdout": " 16:15:10 up 24 days, 4:39, 1 user, load average: 0.53, 0.61, 0.67", "stdout_lines": [" 16:15:10 up 24 days, 4:39, 1 user, load average: 0.53, 0.61, 0.67"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002828", "end": "2025-12-19 16:15:10.896441", "msg": "", "rc": 0, "start": "2025-12-19 16:15:10.893613", "stderr": "", "stderr_lines": [], "stdout": " 16:15:10 up 6:59, 1 user, load average: 0.18, 0.17, 0.22", "stdout_lines": [" 16:15:10 up 6:59, 1 user, load average: 0.18, 0.17, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002763", "end": "2025-12-19 16:14:42.701524", "msg": "", "rc": 0, "start": "2025-12-19 16:14:42.698761", "stderr": "", "stderr_lines": [], "stdout": " 16:14:42 up 13 days, 4:04, 0 user, load average: 0.52, 0.18, 0.14", "stdout_lines": [" 16:14:42 up 13 days, 4:04, 0 user, load average: 0.52, 0.18, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003504", "end": "2025-12-19 16:14:35.522253", "msg": "", "rc": 0, "start": "2025-12-19 16:14:35.518749", "stderr": "", "stderr_lines": [], "stdout": " 16:14:35 up 20 days, 16 min, 0 user, load average: 0.10, 0.09, 0.02", "stdout_lines": [" 16:14:35 up 20 days, 16 min, 0 user, load average: 0.10, 0.09, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008512", "end": "2025-12-19 16:15:11.528890", "msg": "", "rc": 0, "start": "2025-12-19 16:15:11.520378", "stderr": "", "stderr_lines": [], "stdout": " 16:15:11 up 196 days, 7:48, 1 user, load average: 0.14, 0.17, 0.17", "stdout_lines": [" 16:15:11 up 196 days, 7:48, 1 user, load average: 0.14, 0.17, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009293", "end": "2025-12-19 16:15:11.582966", "msg": "", "rc": 0, "start": "2025-12-19 16:15:11.573673", "stderr": "", "stderr_lines": [], "stdout": " 16:15:11 up 196 days, 7:48, 1 user, load average: 0.53, 0.33, 0.29", "stdout_lines": [" 16:15:11 up 196 days, 7:48, 1 user, load average: 0.53, 0.33, 0.29"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004536", "end": "2025-12-19 16:15:11.799845", "msg": "", "rc": 0, "start": "2025-12-19 16:15:11.795309", "stderr": "", "stderr_lines": [], "stdout": " 16:15:11 up 6:58, 1 user, load average: 0.15, 0.09, 0.02", "stdout_lines": [" 16:15:11 up 6:58, 1 user, load average: 0.15, 0.09, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003376", "end": "2025-12-19 16:14:38.687522", "msg": "", "rc": 0, "start": "2025-12-19 16:14:38.684146", "stderr": "", "stderr_lines": [], "stdout": " 16:14:38 up 22 days, 19:08, 0 user, load average: 1.25, 0.83, 0.61", "stdout_lines": [" 16:14:38 up 22 days, 19:08, 0 user, load average: 1.25, 0.83, 0.61"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002947", "end": "2025-12-19 16:14:45.985986", "msg": "", "rc": 0, "start": "2025-12-19 16:14:45.983039", "stderr": "", "stderr_lines": [], "stdout": " 16:14:45 up 19 days, 5:30, 0 user, load average: 0.65, 0.58, 0.56", "stdout_lines": [" 16:14:45 up 19 days, 5:30, 0 user, load average: 0.65, 0.58, 0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004209", "end": "2025-12-19 13:15:12.024755", "msg": "", "rc": 0, "start": "2025-12-19 13:15:12.020546", "stderr": "", "stderr_lines": [], "stdout": " 1:15PM up 24 days, 3:04, 1 user, load averages: 0.33, 0.24, 0.24", "stdout_lines": [" 1:15PM up 24 days, 3:04, 1 user, load averages: 0.33, 0.24, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003715", "end": "2025-12-19 16:15:12.222695", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.218980", "stderr": "", "stderr_lines": [], "stdout": " 16:15:12 up 6:58, 1 user, load average: 0.70, 0.30, 0.11", "stdout_lines": [" 16:15:12 up 6:58, 1 user, load average: 0.70, 0.30, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007925", "end": "2025-12-19 16:15:14.526546", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.518621", "stderr": "", "stderr_lines": [], "stdout": " 16:15:14 up 2:19, 1 user, load average: 1.02, 1.14, 1.16", "stdout_lines": [" 16:15:14 up 2:19, 1 user, load average: 1.02, 1.14, 1.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019251", "end": "2025-12-19 16:15:12.235469", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.216218", "stderr": "", "stderr_lines": [], "stdout": " 16:15:12 up 17 days, 5:41, 1 user, load average: 0.22, 0.15, 0.10", "stdout_lines": [" 16:15:12 up 17 days, 5:41, 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.004231", "end": "2025-12-19 16:15:12.749795", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.745564", "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.003969", "end": "2025-12-19 16:15:12.783977", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.780008", "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.004689", "end": "2025-12-19 16:15:12.789856", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.785167", "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-19 16:15:12.805574", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.800570", "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.005295", "end": "2025-12-19 16:15:12.819832", "msg": "", "rc": 0, "start": "2025-12-19 16:15:12.814537", "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.004919", "end": "2025-12-19 16:14:44.616360", "msg": "", "rc": 0, "start": "2025-12-19 16:14:44.611441", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005572", "end": "2025-12-19 16:14:37.441825", "msg": "", "rc": 0, "start": "2025-12-19 16:14:37.436253", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010608", "end": "2025-12-19 16:15:13.505245", "msg": "", "rc": 0, "start": "2025-12-19 16:15:13.494637", "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.011398", "end": "2025-12-19 16:15:13.545467", "msg": "", "rc": 0, "start": "2025-12-19 16:15:13.534069", "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.005695", "end": "2025-12-19 16:15:13.721980", "msg": "", "rc": 0, "start": "2025-12-19 16:15:13.716285", "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.005280", "end": "2025-12-19 16:14:40.612113", "msg": "", "rc": 0, "start": "2025-12-19 16:14:40.606833", "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.005447", "end": "2025-12-19 13:15:13.997424", "msg": "", "rc": 0, "start": "2025-12-19 13:15:13.991977", "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.004976", "end": "2025-12-19 16:14:47.971452", "msg": "", "rc": 0, "start": "2025-12-19 16:14:47.966476", "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.005252", "end": "2025-12-19 16:15:14.135649", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.130397", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020076", "end": "2025-12-19 16:15:16.659056", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.638980", "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.025073", "end": "2025-12-19 16:15:14.147259", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.122186", "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.004260", "end": "2025-12-19 16:15:14.654674", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.650414", "stderr": "", "stderr_lines": [], "stdout": "76.3%", "stdout_lines": ["76.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.004274", "end": "2025-12-19 16:15:14.685978", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.681704", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004778", "end": "2025-12-19 16:15:14.693707", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.688929", "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.005083", "end": "2025-12-19 16:15:14.712867", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.707784", "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.005594", "end": "2025-12-19 16:15:14.719212", "msg": "", "rc": 0, "start": "2025-12-19 16:15:14.713618", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003773", "end": "2025-12-19 16:14:46.527204", "msg": "", "rc": 0, "start": "2025-12-19 16:14:46.523431", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005091", "end": "2025-12-19 16:14:39.365056", "msg": "", "rc": 0, "start": "2025-12-19 16:14:39.359965", "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.010880", "end": "2025-12-19 16:15:15.357931", "msg": "", "rc": 0, "start": "2025-12-19 16:15:15.347051", "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.011936", "end": "2025-12-19 16:15:15.411642", "msg": "", "rc": 0, "start": "2025-12-19 16:15:15.399706", "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.005716", "end": "2025-12-19 16:15:15.653022", "msg": "", "rc": 0, "start": "2025-12-19 16:15:15.647306", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003814", "end": "2025-12-19 16:14:49.802326", "msg": "", "rc": 0, "start": "2025-12-19 16:14:49.798512", "stderr": "", "stderr_lines": [], "stdout": "61.2%", "stdout_lines": ["61.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.004045", "end": "2025-12-19 16:14:42.576418", "msg": "", "rc": 0, "start": "2025-12-19 16:14:42.572373", "stderr": "", "stderr_lines": [], "stdout": "28.0%", "stdout_lines": ["28.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.005045", "end": "2025-12-19 13:15:15.863753", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:15:15.858708", "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.005366", "end": "2025-12-19 16:15:16.066835", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.061469", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.008517", "end": "2025-12-19 16:15:18.798371", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.789854", "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.025974", "end": "2025-12-19 16:15:16.036163", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.010189", "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.005185", "end": "2025-12-19 16:15:16.563136", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.557951", "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.004980", "end": "2025-12-19 16:15:16.589289", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.584309", "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.005564", "end": "2025-12-19 16:15:16.591397", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.585833", "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.003432", "end": "2025-12-19 16:15:16.615320", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.611888", "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.006700", "end": "2025-12-19 16:15:16.630389", "msg": "", "rc": 0, "start": "2025-12-19 16:15:16.623689", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002655", "end": "2025-12-19 16:14:48.430679", "msg": "", "rc": 0, "start": "2025-12-19 16:14:48.428024", "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-19 16:14:41.276732", "msg": "", "rc": 0, "start": "2025-12-19 16:14:41.273861", "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.011768", "end": "2025-12-19 16:15:17.269301", "msg": "", "rc": 0, "start": "2025-12-19 16:15:17.257533", "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.012917", "end": "2025-12-19 16:15:17.328662", "msg": "", "rc": 0, "start": "2025-12-19 16:15:17.315745", "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.003203", "end": "2025-12-19 16:15:17.532749", "msg": "", "rc": 0, "start": "2025-12-19 16:15:17.529546", "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.002835", "end": "2025-12-19 16:14:44.437356", "msg": "", "rc": 0, "start": "2025-12-19 16:14:44.434521", "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.002409", "end": "2025-12-19 16:14:51.717608", "msg": "", "rc": 0, "start": "2025-12-19 16:14:51.715199", "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.003942", "end": "2025-12-19 13:15:17.767675", "msg": "", "rc": 0, "start": "2025-12-19 13:15:17.763733", "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.003159", "end": "2025-12-19 16:15:17.943800", "msg": "", "rc": 0, "start": "2025-12-19 16:15:17.940641", "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.005294", "end": "2025-12-19 16:15:20.850859", "msg": "", "rc": 0, "start": "2025-12-19 16:15:20.845565", "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.028338", "end": "2025-12-19 16:15:17.972924", "msg": "", "rc": 0, "start": "2025-12-19 16:15:17.944586", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004144", "end": "2025-12-19 16:15:18.497803", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.493659", "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.004055", "end": "2025-12-19 16:15:18.520436", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.516381", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005273", "end": "2025-12-19 16:15:18.542628", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.537355", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004678", "end": "2025-12-19 16:15:18.542141", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.537463", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
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.005535", "end": "2025-12-19 16:15:18.579302", "msg": "", "rc": 0, "start": "2025-12-19 16:15:18.573767", "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.005676", "end": "2025-12-19 16:14:50.409827", "msg": "", "rc": 0, "start": "2025-12-19 16:14:50.404151", "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.005516", "end": "2025-12-19 16:14:43.251322", "msg": "", "rc": 0, "start": "2025-12-19 16:14:43.245806", "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.010310", "end": "2025-12-19 16:15:19.292440", "msg": "", "rc": 0, "start": "2025-12-19 16:15:19.282130", "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.011209", "end": "2025-12-19 16:15:19.301850", "msg": "", "rc": 0, "start": "2025-12-19 16:15:19.290641", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005637", "end": "2025-12-19 16:15:19.516398", "msg": "", "rc": 0, "start": "2025-12-19 16:15:19.510761", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005317", "end": "2025-12-19 16:14:46.444751", "msg": "", "rc": 0, "start": "2025-12-19 16:14:46.439434", "stderr": "", "stderr_lines": [], "stdout": "1.13", "stdout_lines": ["1.13"]}
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.005904", "end": "2025-12-19 13:15:19.753625", "msg": "", "rc": 0, "start": "2025-12-19 13:15:19.747721", "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.004201", "end": "2025-12-19 16:14:53.758581", "msg": "", "rc": 0, "start": "2025-12-19 16:14:53.754380", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
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.005313", "end": "2025-12-19 16:15:19.927650", "msg": "", "rc": 0, "start": "2025-12-19 16:15:19.922337", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
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.024567", "end": "2025-12-19 16:15:19.886530", "msg": "", "rc": 0, "start": "2025-12-19 16:15:19.861963", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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-19 16:15:20.163542", "msg": "", "rc": 0, "start": "2025-12-19 16:15:20.155610", "stderr": "", "stderr_lines": [], "stdout": "1.02", "stdout_lines": ["1.02"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:10 up 24 days, 3:06, 1 user, load average: 0.09, 0.11, 0.13\nDisk Usage: 23%\nMemory Usage: 76.3%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:10 up 6:59, 1 user, load average: 0.18, 0.17, 0.22\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.22\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:10 up 24 days, 3:26, 1 user, load average: 0.99, 0.89, 0.92\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.91\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:10 up 24 days, 4:39, 1 user, load average: 0.53, 0.61, 0.67\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.57\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:10 up 24 days, 5:25, 1 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:12 up 17 days, 5:41, 1 user, load average: 0.22, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.26\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:11 up 196 days, 7:48, 1 user, load average: 0.53, 0.33, 0.29\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.52\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:11 up 196 days, 7:48, 1 user, load average: 0.14, 0.17, 0.17\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.20\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:14:42 up 13 days, 4:04, 0 user, load average: 0.52, 0.18, 0.14\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:14:35 up 20 days, 16 min, 0 user, load average: 0.10, 0.09, 0.02\nDisk Usage: 25%\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: 16:15:11 up 6:58, 1 user, load average: 0.15, 0.09, 0.02\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:14:38 up 22 days, 19:08, 0 user, load average: 1.25, 0.83, 0.61\nDisk Usage: 28%\nMemory Usage: 28.0%\nCPU Load: 1.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:14:45 up 19 days, 5:30, 0 user, load average: 0.65, 0.58, 0.56\nDisk Usage: 76%\nMemory Usage: 61.2%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:15PM up 24 days, 3:04, 1 user, load averages: 0.33, 0.24, 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: 16:15:12 up 6:58, 1 user, load average: 0.70, 0.30, 0.11\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.64\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:15:14 up 2:19, 1 user, load average: 1.02, 1.14, 1.16\nDisk Usage: 1%\nMemory Usage: 12.6%\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-19T21:15:21.054402+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `c1819e374ba14e5086f9b05af25ac303` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:20:00.011263+00:00 |
| **Fin** | 2025-12-19T21:20:21.259721+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: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.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: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [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: [hp.truenas.home]
ok: [automate.prod.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.003309", "end": "2025-12-19 16:20:09.443877", "msg": "", "rc": 0, "start": "2025-12-19 16:20:09.440568", "stderr": "", "stderr_lines": [], "stdout": " 16:20:09 up 24 days, 3:11, 1 user, load average: 0.08, 0.08, 0.10", "stdout_lines": [" 16:20:09 up 24 days, 3:11, 1 user, load average: 0.08, 0.08, 0.10"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003724", "end": "2025-12-19 16:20:09.453448", "msg": "", "rc": 0, "start": "2025-12-19 16:20:09.449724", "stderr": "", "stderr_lines": [], "stdout": " 16:20:09 up 24 days, 3:31, 1 user, load average: 0.63, 0.83, 0.90", "stdout_lines": [" 16:20:09 up 24 days, 3:31, 1 user, load average: 0.63, 0.83, 0.90"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003823", "end": "2025-12-19 16:20:09.459317", "msg": "", "rc": 0, "start": "2025-12-19 16:20:09.455494", "stderr": "", "stderr_lines": [], "stdout": " 16:20:09 up 24 days, 5:30, 1 user, load average: 0.01, 0.03, 0.00", "stdout_lines": [" 16:20:09 up 24 days, 5:30, 1 user, load average: 0.01, 0.03, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002829", "end": "2025-12-19 16:20:09.482243", "msg": "", "rc": 0, "start": "2025-12-19 16:20:09.479414", "stderr": "", "stderr_lines": [], "stdout": " 16:20:09 up 7:04, 1 user, load average: 0.36, 0.21, 0.20", "stdout_lines": [" 16:20:09 up 7:04, 1 user, load average: 0.36, 0.21, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004423", "end": "2025-12-19 16:20:09.487558", "msg": "", "rc": 0, "start": "2025-12-19 16:20:09.483135", "stderr": "", "stderr_lines": [], "stdout": " 16:20:09 up 24 days, 4:44, 1 user, load average: 2.37, 1.02, 0.79", "stdout_lines": [" 16:20:09 up 24 days, 4:44, 1 user, load average: 2.37, 1.02, 0.79"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003566", "end": "2025-12-19 16:19:41.302014", "msg": "", "rc": 0, "start": "2025-12-19 16:19:41.298448", "stderr": "", "stderr_lines": [], "stdout": " 16:19:41 up 13 days, 4:09, 0 user, load average: 0.08, 0.19, 0.17", "stdout_lines": [" 16:19:41 up 13 days, 4:09, 0 user, load average: 0.08, 0.19, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003276", "end": "2025-12-19 16:19:34.192242", "msg": "", "rc": 0, "start": "2025-12-19 16:19:34.188966", "stderr": "", "stderr_lines": [], "stdout": " 16:19:34 up 20 days, 21 min, 0 user, load average: 1.28, 0.40, 0.13", "stdout_lines": [" 16:19:34 up 20 days, 21 min, 0 user, load average: 1.28, 0.40, 0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008520", "end": "2025-12-19 16:20:10.130571", "msg": "", "rc": 0, "start": "2025-12-19 16:20:10.122051", "stderr": "", "stderr_lines": [], "stdout": " 16:20:10 up 196 days, 7:53, 1 user, load average: 0.14, 0.19, 0.18", "stdout_lines": [" 16:20:10 up 196 days, 7:53, 1 user, load average: 0.14, 0.19, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009361", "end": "2025-12-19 16:20:10.171946", "msg": "", "rc": 0, "start": "2025-12-19 16:20:10.162585", "stderr": "", "stderr_lines": [], "stdout": " 16:20:10 up 196 days, 7:53, 1 user, load average: 0.19, 0.24, 0.26", "stdout_lines": [" 16:20:10 up 196 days, 7:53, 1 user, load average: 0.19, 0.24, 0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004587", "end": "2025-12-19 16:20:10.423357", "msg": "", "rc": 0, "start": "2025-12-19 16:20:10.418770", "stderr": "", "stderr_lines": [], "stdout": " 16:20:10 up 7:03, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 16:20:10 up 7:03, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002846", "end": "2025-12-19 16:19:44.612167", "msg": "", "rc": 0, "start": "2025-12-19 16:19:44.609321", "stderr": "", "stderr_lines": [], "stdout": " 16:19:44 up 19 days, 5:35, 0 user, load average: 0.34, 0.42, 0.50", "stdout_lines": [" 16:19:44 up 19 days, 5:35, 0 user, load average: 0.34, 0.42, 0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004378", "end": "2025-12-19 13:20:10.659976", "msg": "", "rc": 0, "start": "2025-12-19 13:20:10.655598", "stderr": "", "stderr_lines": [], "stdout": " 1:20PM up 24 days, 3:09, 1 user, load averages: 0.51, 0.33, 0.27", "stdout_lines": [" 1:20PM up 24 days, 3:09, 1 user, load averages: 0.51, 0.33, 0.27"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003874", "end": "2025-12-19 16:19:37.402993", "msg": "", "rc": 0, "start": "2025-12-19 16:19:37.399119", "stderr": "", "stderr_lines": [], "stdout": " 16:19:37 up 22 days, 19:13, 0 user, load average: 0.52, 0.60, 0.56", "stdout_lines": [" 16:19:37 up 22 days, 19:13, 0 user, load average: 0.52, 0.60, 0.56"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003662", "end": "2025-12-19 16:20:10.861357", "msg": "", "rc": 0, "start": "2025-12-19 16:20:10.857695", "stderr": "", "stderr_lines": [], "stdout": " 16:20:10 up 7:03, 1 user, load average: 0.01, 0.12, 0.08", "stdout_lines": [" 16:20:10 up 7:03, 1 user, load average: 0.01, 0.12, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010671", "end": "2025-12-19 16:20:11.911188", "msg": "", "rc": 0, "start": "2025-12-19 16:20:11.900517", "stderr": "", "stderr_lines": [], "stdout": " 16:20:11 up 2:24, 1 user, load average: 1.21, 1.13, 1.15", "stdout_lines": [" 16:20:11 up 2:24, 1 user, load average: 1.21, 1.13, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019611", "end": "2025-12-19 16:20:10.845569", "msg": "", "rc": 0, "start": "2025-12-19 16:20:10.825958", "stderr": "", "stderr_lines": [], "stdout": " 16:20:10 up 17 days, 5:46, 1 user, load average: 0.09, 0.12, 0.09", "stdout_lines": [" 16:20:10 up 17 days, 5:46, 1 user, load average: 0.09, 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.004125", "end": "2025-12-19 16:20:11.383436", "msg": "", "rc": 0, "start": "2025-12-19 16:20:11.379311", "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.004061", "end": "2025-12-19 16:20:11.398752", "msg": "", "rc": 0, "start": "2025-12-19 16:20:11.394691", "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.004615", "end": "2025-12-19 16:20:11.424768", "msg": "", "rc": 0, "start": "2025-12-19 16:20:11.420153", "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.004235", "end": "2025-12-19 16:20:11.444354", "msg": "", "rc": 0, "start": "2025-12-19 16:20:11.440119", "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.005754", "end": "2025-12-19 16:20:11.469664", "msg": "", "rc": 0, "start": "2025-12-19 16:20:11.463910", "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.005494", "end": "2025-12-19 16:19:43.277189", "msg": "", "rc": 0, "start": "2025-12-19 16:19:43.271695", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005243", "end": "2025-12-19 16:19:36.139765", "msg": "", "rc": 0, "start": "2025-12-19 16:19:36.134522", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010298", "end": "2025-12-19 16:20:12.159010", "msg": "", "rc": 0, "start": "2025-12-19 16:20:12.148712", "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.011713", "end": "2025-12-19 16:20:12.185801", "msg": "", "rc": 0, "start": "2025-12-19 16:20:12.174088", "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.005755", "end": "2025-12-19 16:20:12.399385", "msg": "", "rc": 0, "start": "2025-12-19 16:20:12.393630", "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.006055", "end": "2025-12-19 16:19:39.328293", "msg": "", "rc": 0, "start": "2025-12-19 16:19:39.322238", "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.004946", "end": "2025-12-19 16:19:46.619890", "msg": "", "rc": 0, "start": "2025-12-19 16:19:46.614944", "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.005287", "end": "2025-12-19 13:20:12.653166", "msg": "", "rc": 0, "start": "2025-12-19 13:20:12.647879", "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.005305", "end": "2025-12-19 16:20:12.830706", "msg": "", "rc": 0, "start": "2025-12-19 16:20:12.825401", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021054", "end": "2025-12-19 16:20:14.050998", "msg": "", "rc": 0, "start": "2025-12-19 16:20:14.029944", "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.025202", "end": "2025-12-19 16:20:12.795598", "msg": "", "rc": 0, "start": "2025-12-19 16:20:12.770396", "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.004160", "end": "2025-12-19 16:20:13.328830", "msg": "", "rc": 0, "start": "2025-12-19 16:20:13.324670", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004174", "end": "2025-12-19 16:20:13.348266", "msg": "", "rc": 0, "start": "2025-12-19 16:20:13.344092", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004821", "end": "2025-12-19 16:20:13.352103", "msg": "", "rc": 0, "start": "2025-12-19 16:20:13.347282", "stderr": "", "stderr_lines": [], "stdout": "48.7%", "stdout_lines": ["48.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005302", "end": "2025-12-19 16:20:13.377012", "msg": "", "rc": 0, "start": "2025-12-19 16:20:13.371710", "stderr": "", "stderr_lines": [], "stdout": "9.2%", "stdout_lines": ["9.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.005405", "end": "2025-12-19 16:20:13.400864", "msg": "", "rc": 0, "start": "2025-12-19 16:20:13.395459", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003868", "end": "2025-12-19 16:19:45.159897", "msg": "", "rc": 0, "start": "2025-12-19 16:19:45.156029", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004090", "end": "2025-12-19 16:19:38.030951", "msg": "", "rc": 0, "start": "2025-12-19 16:19:38.026861", "stderr": "", "stderr_lines": [], "stdout": "65.6%", "stdout_lines": ["65.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.010871", "end": "2025-12-19 16:20:14.017167", "msg": "", "rc": 0, "start": "2025-12-19 16:20:14.006296", "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.011754", "end": "2025-12-19 16:20:14.054196", "msg": "", "rc": 0, "start": "2025-12-19 16:20:14.042442", "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.005874", "end": "2025-12-19 16:20:14.283653", "msg": "", "rc": 0, "start": "2025-12-19 16:20:14.277779", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004850", "end": "2025-12-19 16:19:41.229081", "msg": "", "rc": 0, "start": "2025-12-19 16:19:41.224231", "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.005246", "end": "2025-12-19 13:20:14.521575", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:20:14.516329", "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.003892", "end": "2025-12-19 16:19:48.488194", "msg": "", "rc": 0, "start": "2025-12-19 16:19:48.484302", "stderr": "", "stderr_lines": [], "stdout": "54.6%", "stdout_lines": ["54.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.005557", "end": "2025-12-19 16:20:14.708779", "msg": "", "rc": 0, "start": "2025-12-19 16:20:14.703222", "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.026093", "end": "2025-12-19 16:20:14.705122", "msg": "", "rc": 0, "start": "2025-12-19 16:20:14.679029", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.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.008927", "end": "2025-12-19 16:20:16.177506", "msg": "", "rc": 0, "start": "2025-12-19 16:20:16.168579", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.005355", "end": "2025-12-19 16:20:15.265341", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.259986", "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.006431", "end": "2025-12-19 16:20:15.277345", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.270914", "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.004982", "end": "2025-12-19 16:20:15.310512", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.305530", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003525", "end": "2025-12-19 16:20:15.328249", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.324724", "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.006699", "end": "2025-12-19 16:20:15.331970", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.325271", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002596", "end": "2025-12-19 16:19:47.134830", "msg": "", "rc": 0, "start": "2025-12-19 16:19:47.132234", "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.003087", "end": "2025-12-19 16:19:39.982977", "msg": "", "rc": 0, "start": "2025-12-19 16:19:39.979890", "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.012644", "end": "2025-12-19 16:20:15.974924", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.962280", "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.012950", "end": "2025-12-19 16:20:16.004796", "msg": "", "rc": 0, "start": "2025-12-19 16:20:15.991846", "stderr": "", "stderr_lines": [], "stdout": "37.0°C", "stdout_lines": ["37.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003102", "end": "2025-12-19 16:20:16.290513", "msg": "", "rc": 0, "start": "2025-12-19 16:20:16.287411", "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.003927", "end": "2025-12-19 13:20:16.456437", "msg": "", "rc": 0, "start": "2025-12-19 13:20:16.452510", "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.002854", "end": "2025-12-19 16:19:43.186245", "msg": "", "rc": 0, "start": "2025-12-19 16:19:43.183391", "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.002823", "end": "2025-12-19 16:19:50.434442", "msg": "", "rc": 0, "start": "2025-12-19 16:19:50.431619", "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.002930", "end": "2025-12-19 16:20:16.705369", "msg": "", "rc": 0, "start": "2025-12-19 16:20:16.702439", "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.005059", "end": "2025-12-19 16:20:18.270780", "msg": "", "rc": 0, "start": "2025-12-19 16:20:18.265721", "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.028521", "end": "2025-12-19 16:20:16.667178", "msg": "", "rc": 0, "start": "2025-12-19 16:20:16.638657", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004037", "end": "2025-12-19 16:20:17.177945", "msg": "", "rc": 0, "start": "2025-12-19 16:20:17.173908", "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.003998", "end": "2025-12-19 16:20:17.199266", "msg": "", "rc": 0, "start": "2025-12-19 16:20:17.195268", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004862", "end": "2025-12-19 16:20:17.205823", "msg": "", "rc": 0, "start": "2025-12-19 16:20:17.200961", "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.005676", "end": "2025-12-19 16:20:17.235468", "msg": "", "rc": 0, "start": "2025-12-19 16:20:17.229792", "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.005529", "end": "2025-12-19 16:20:17.258648", "msg": "", "rc": 0, "start": "2025-12-19 16:20:17.253119", "stderr": "", "stderr_lines": [], "stdout": "2.31", "stdout_lines": ["2.31"]}
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.004067", "end": "2025-12-19 16:19:49.066157", "msg": "", "rc": 0, "start": "2025-12-19 16:19:49.062090", "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.004902", "end": "2025-12-19 16:19:41.906673", "msg": "", "rc": 0, "start": "2025-12-19 16:19:41.901771", "stderr": "", "stderr_lines": [], "stdout": "1.26", "stdout_lines": ["1.26"]}
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.010226", "end": "2025-12-19 16:20:17.942266", "msg": "", "rc": 0, "start": "2025-12-19 16:20:17.932040", "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.011103", "end": "2025-12-19 16:20:18.012169", "msg": "", "rc": 0, "start": "2025-12-19 16:20:18.001066", "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.005583", "end": "2025-12-19 16:20:18.176707", "msg": "", "rc": 0, "start": "2025-12-19 16:20:18.171124", "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.004962", "end": "2025-12-19 16:19:45.101463", "msg": "", "rc": 0, "start": "2025-12-19 16:19:45.096501", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004465", "end": "2025-12-19 16:19:52.425952", "msg": "", "rc": 0, "start": "2025-12-19 16:19:52.421487", "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.006113", "end": "2025-12-19 13:20:18.480580", "msg": "", "rc": 0, "start": "2025-12-19 13:20:18.474467", "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.005239", "end": "2025-12-19 16:20:18.591252", "msg": "", "rc": 0, "start": "2025-12-19 16:20:18.586013", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008361", "end": "2025-12-19 16:20:20.370116", "msg": "", "rc": 0, "start": "2025-12-19 16:20:20.361755", "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.024053", "end": "2025-12-19 16:20:18.556996", "msg": "", "rc": 0, "start": "2025-12-19 16:20:18.532943", "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: 16:20:09 up 7:04, 1 user, load average: 0.36, 0.21, 0.20\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.39\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:09 up 24 days, 3:11, 1 user, load average: 0.08, 0.08, 0.10\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:09 up 24 days, 3:31, 1 user, load average: 0.63, 0.83, 0.90\nDisk Usage: 14%\nMemory Usage: 48.7%\nCPU Load: 0.69\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:09 up 24 days, 4:44, 1 user, load average: 2.37, 1.02, 0.79\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 2.31\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:09 up 24 days, 5:30, 1 user, load average: 0.01, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:10 up 17 days, 5:46, 1 user, load average: 0.09, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.8%\nCPU Load: 0.17\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:10 up 196 days, 7:53, 1 user, load average: 0.19, 0.24, 0.26\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.33\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:10 up 196 days, 7:53, 1 user, load average: 0.14, 0.19, 0.18\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.13\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:19:41 up 13 days, 4:09, 0 user, load average: 0.08, 0.19, 0.17\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:10 up 7:03, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:19:34 up 20 days, 21 min, 0 user, load average: 1.28, 0.40, 0.13\nDisk Usage: 25%\nMemory Usage: 65.6%\nCPU Load: 1.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:19:37 up 22 days, 19:13, 0 user, load average: 0.52, 0.60, 0.56\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:19:44 up 19 days, 5:35, 0 user, load average: 0.34, 0.42, 0.50\nDisk Usage: 76%\nMemory Usage: 54.6%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:20PM up 24 days, 3:09, 1 user, load averages: 0.51, 0.33, 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: 16:20:10 up 7:03, 1 user, load average: 0.01, 0.12, 0.08\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:20:11 up 2:24, 1 user, load average: 1.21, 1.13, 1.15\nDisk Usage: 1%\nMemory Usage: 12.5%\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-19T21:20:21.308678+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7cbb94d27f6b455497e57e07dc21761d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:25:00.008038+00:00 |
| **Fin** | 2025-12-19T21:25:22.208536+00:00 |
| **Durée** | 22.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [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.003673", "end": "2025-12-19 16:25:10.355587", "msg": "", "rc": 0, "start": "2025-12-19 16:25:10.351914", "stderr": "", "stderr_lines": [], "stdout": " 16:25:10 up 24 days, 3:36, 1 user, load average: 0.58, 0.70, 0.83", "stdout_lines": [" 16:25:10 up 24 days, 3:36, 1 user, load average: 0.58, 0.70, 0.83"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003867", "end": "2025-12-19 16:25:10.364754", "msg": "", "rc": 0, "start": "2025-12-19 16:25:10.360887", "stderr": "", "stderr_lines": [], "stdout": " 16:25:10 up 24 days, 5:35, 1 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 16:25:10 up 24 days, 5:35, 1 user, load average: 0.03, 0.03, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002867", "end": "2025-12-19 16:25:10.390479", "msg": "", "rc": 0, "start": "2025-12-19 16:25:10.387612", "stderr": "", "stderr_lines": [], "stdout": " 16:25:10 up 7:09, 2 users, load average: 0.31, 0.23, 0.20", "stdout_lines": [" 16:25:10 up 7:09, 2 users, load average: 0.31, 0.23, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004117", "end": "2025-12-19 16:25:10.395289", "msg": "", "rc": 0, "start": "2025-12-19 16:25:10.391172", "stderr": "", "stderr_lines": [], "stdout": " 16:25:10 up 24 days, 4:49, 1 user, load average: 0.84, 0.87, 0.81", "stdout_lines": [" 16:25:10 up 24 days, 4:49, 1 user, load average: 0.84, 0.87, 0.81"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002784", "end": "2025-12-19 16:24:42.214885", "msg": "", "rc": 0, "start": "2025-12-19 16:24:42.212101", "stderr": "", "stderr_lines": [], "stdout": " 16:24:42 up 13 days, 4:14, 0 user, load average: 0.20, 0.14, 0.15", "stdout_lines": [" 16:24:42 up 13 days, 4:14, 0 user, load average: 0.20, 0.14, 0.15"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008457", "end": "2025-12-19 16:25:11.053826", "msg": "", "rc": 0, "start": "2025-12-19 16:25:11.045369", "stderr": "", "stderr_lines": [], "stdout": " 16:25:11 up 196 days, 7:58, 1 user, load average: 0.13, 0.15, 0.17", "stdout_lines": [" 16:25:11 up 196 days, 7:58, 1 user, load average: 0.13, 0.15, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009157", "end": "2025-12-19 16:25:11.085169", "msg": "", "rc": 0, "start": "2025-12-19 16:25:11.076012", "stderr": "", "stderr_lines": [], "stdout": " 16:25:11 up 196 days, 7:58, 1 user, load average: 0.31, 0.22, 0.24", "stdout_lines": [" 16:25:11 up 196 days, 7:58, 1 user, load average: 0.31, 0.22, 0.24"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004386", "end": "2025-12-19 16:25:11.354268", "msg": "", "rc": 0, "start": "2025-12-19 16:25:10.349882", "stderr": "", "stderr_lines": [], "stdout": " 16:25:10 up 24 days, 3:16, 1 user, load average: 0.02, 0.06, 0.08", "stdout_lines": [" 16:25:10 up 24 days, 3:16, 1 user, load average: 0.02, 0.06, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003992", "end": "2025-12-19 16:24:35.530647", "msg": "", "rc": 0, "start": "2025-12-19 16:24:35.526655", "stderr": "", "stderr_lines": [], "stdout": " 16:24:35 up 20 days, 26 min, 0 user, load average: 0.36, 0.40, 0.21", "stdout_lines": [" 16:24:35 up 20 days, 26 min, 0 user, load average: 0.36, 0.40, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004446", "end": "2025-12-19 16:25:11.559281", "msg": "", "rc": 0, "start": "2025-12-19 16:25:11.554835", "stderr": "", "stderr_lines": [], "stdout": " 16:25:11 up 7:08, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:25:11 up 7:08, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003328", "end": "2025-12-19 16:24:38.446428", "msg": "", "rc": 0, "start": "2025-12-19 16:24:38.443100", "stderr": "", "stderr_lines": [], "stdout": " 16:24:38 up 22 days, 19:18, 0 user, load average: 0.54, 0.66, 0.62", "stdout_lines": [" 16:24:38 up 22 days, 19:18, 0 user, load average: 0.54, 0.66, 0.62"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003385", "end": "2025-12-19 16:24:45.771684", "msg": "", "rc": 0, "start": "2025-12-19 16:24:45.768299", "stderr": "", "stderr_lines": [], "stdout": " 16:24:45 up 19 days, 5:40, 0 user, load average: 0.24, 0.33, 0.43", "stdout_lines": [" 16:24:45 up 19 days, 5:40, 0 user, load average: 0.24, 0.33, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004296", "end": "2025-12-19 13:25:11.859957", "msg": "", "rc": 0, "start": "2025-12-19 13:25:11.855661", "stderr": "", "stderr_lines": [], "stdout": " 1:25PM up 24 days, 3:14, 1 user, load averages: 0.27, 0.31, 0.27", "stdout_lines": [" 1:25PM up 24 days, 3:14, 1 user, load averages: 0.27, 0.31, 0.27"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003741", "end": "2025-12-19 16:25:11.991306", "msg": "", "rc": 0, "start": "2025-12-19 16:25:11.987565", "stderr": "", "stderr_lines": [], "stdout": " 16:25:11 up 7:08, 1 user, load average: 0.00, 0.04, 0.05", "stdout_lines": [" 16:25:11 up 7:08, 1 user, load average: 0.00, 0.04, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007658", "end": "2025-12-19 16:25:12.797578", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.789920", "stderr": "", "stderr_lines": [], "stdout": " 16:25:12 up 2:30, 1 user, load average: 1.41, 1.29, 1.21", "stdout_lines": [" 16:25:12 up 2:30, 1 user, load average: 1.41, 1.29, 1.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019637", "end": "2025-12-19 16:25:12.012258", "msg": "", "rc": 0, "start": "2025-12-19 16:25:11.992621", "stderr": "", "stderr_lines": [], "stdout": " 16:25:12 up 17 days, 5:51, 1 user, load average: 0.31, 0.15, 0.10", "stdout_lines": [" 16:25:12 up 17 days, 5:51, 1 user, load average: 0.31, 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.004184", "end": "2025-12-19 16:25:12.547028", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.542844", "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.004910", "end": "2025-12-19 16:25:12.578626", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.573716", "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.004064", "end": "2025-12-19 16:25:12.590392", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.586328", "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.004938", "end": "2025-12-19 16:25:12.613555", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.608617", "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.005565", "end": "2025-12-19 16:25:12.638412", "msg": "", "rc": 0, "start": "2025-12-19 16:25:12.632847", "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.004761", "end": "2025-12-19 16:24:44.421689", "msg": "", "rc": 0, "start": "2025-12-19 16:24:44.416928", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006594", "end": "2025-12-19 16:24:37.306235", "msg": "", "rc": 0, "start": "2025-12-19 16:24:37.299641", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010374", "end": "2025-12-19 16:25:13.359679", "msg": "", "rc": 0, "start": "2025-12-19 16:25:13.349305", "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-19 16:25:13.424012", "msg": "", "rc": 0, "start": "2025-12-19 16:25:13.412465", "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.005742", "end": "2025-12-19 16:25:13.544029", "msg": "", "rc": 0, "start": "2025-12-19 16:25:13.538287", "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.005136", "end": "2025-12-19 16:24:40.494920", "msg": "", "rc": 0, "start": "2025-12-19 16:24:40.489784", "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.004654", "end": "2025-12-19 16:24:47.817557", "msg": "", "rc": 0, "start": "2025-12-19 16:24:47.812903", "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.005516", "end": "2025-12-19 13:25:13.896624", "msg": "", "rc": 0, "start": "2025-12-19 13:25:13.891108", "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.005371", "end": "2025-12-19 16:25:13.979533", "msg": "", "rc": 0, "start": "2025-12-19 16:25:13.974162", "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.025249", "end": "2025-12-19 16:25:13.945654", "msg": "", "rc": 0, "start": "2025-12-19 16:25:13.920405", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021601", "end": "2025-12-19 16:25:15.027367", "msg": "", "rc": 0, "start": "2025-12-19 16:25:15.005766", "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.004209", "end": "2025-12-19 16:25:14.492727", "msg": "", "rc": 0, "start": "2025-12-19 16:25:14.488518", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004164", "end": "2025-12-19 16:25:14.513365", "msg": "", "rc": 0, "start": "2025-12-19 16:25:14.509201", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004530", "end": "2025-12-19 16:25:14.536310", "msg": "", "rc": 0, "start": "2025-12-19 16:25:14.531780", "stderr": "", "stderr_lines": [], "stdout": "48.8%", "stdout_lines": ["48.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.005595", "end": "2025-12-19 16:25:14.544197", "msg": "", "rc": 0, "start": "2025-12-19 16:25:14.538602", "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.005550", "end": "2025-12-19 16:25:14.547675", "msg": "", "rc": 0, "start": "2025-12-19 16:25:14.542125", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003912", "end": "2025-12-19 16:24:46.368897", "msg": "", "rc": 0, "start": "2025-12-19 16:24:46.364985", "stderr": "", "stderr_lines": [], "stdout": "70.2%", "stdout_lines": ["70.2%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004416", "end": "2025-12-19 16:24:39.186463", "msg": "", "rc": 0, "start": "2025-12-19 16:24:39.182047", "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.010905", "end": "2025-12-19 16:25:15.193048", "msg": "", "rc": 0, "start": "2025-12-19 16:25:15.182143", "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.011972", "end": "2025-12-19 16:25:15.218850", "msg": "", "rc": 0, "start": "2025-12-19 16:25:15.206878", "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.005970", "end": "2025-12-19 16:25:15.483602", "msg": "", "rc": 0, "start": "2025-12-19 16:25:15.477632", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004087", "end": "2025-12-19 16:24:42.364677", "msg": "", "rc": 0, "start": "2025-12-19 16:24:42.360590", "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.005085", "end": "2025-12-19 13:25:15.687871", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:25:15.682786", "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.003489", "end": "2025-12-19 16:24:49.658785", "msg": "", "rc": 0, "start": "2025-12-19 16:24:49.655296", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.005347", "end": "2025-12-19 16:25:15.916839", "msg": "", "rc": 0, "start": "2025-12-19 16:25:15.911492", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.013619", "end": "2025-12-19 16:25:17.079259", "msg": "", "rc": 0, "start": "2025-12-19 16:25:17.065640", "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.025676", "end": "2025-12-19 16:25:15.880655", "msg": "", "rc": 0, "start": "2025-12-19 16:25:15.854979", "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.005325", "end": "2025-12-19 16:25:16.412401", "msg": "", "rc": 0, "start": "2025-12-19 16:25:16.407076", "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.004796", "end": "2025-12-19 16:25:16.416703", "msg": "", "rc": 0, "start": "2025-12-19 16:25:16.411907", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.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.003293", "end": "2025-12-19 16:25:16.458884", "msg": "", "rc": 0, "start": "2025-12-19 16:25:16.455591", "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.007242", "end": "2025-12-19 16:25:16.459480", "msg": "", "rc": 0, "start": "2025-12-19 16:25:16.452238", "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.006674", "end": "2025-12-19 16:25:16.466378", "msg": "", "rc": 0, "start": "2025-12-19 16:25:16.459704", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002806", "end": "2025-12-19 16:24:48.256410", "msg": "", "rc": 0, "start": "2025-12-19 16:24:48.253604", "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.003173", "end": "2025-12-19 16:24:41.099927", "msg": "", "rc": 0, "start": "2025-12-19 16:24:41.096754", "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.011833", "end": "2025-12-19 16:25:17.114438", "msg": "", "rc": 0, "start": "2025-12-19 16:25:17.102605", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012965", "end": "2025-12-19 16:25:17.130728", "msg": "", "rc": 0, "start": "2025-12-19 16:25:17.117763", "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.003387", "end": "2025-12-19 16:25:17.370182", "msg": "", "rc": 0, "start": "2025-12-19 16:25:17.366795", "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.002715", "end": "2025-12-19 16:24:44.269889", "msg": "", "rc": 0, "start": "2025-12-19 16:24:44.267174", "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.004035", "end": "2025-12-19 13:25:17.585224", "msg": "", "rc": 0, "start": "2025-12-19 13:25:17.581189", "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.002564", "end": "2025-12-19 16:24:51.563591", "msg": "", "rc": 0, "start": "2025-12-19 16:24:51.561027", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002912", "end": "2025-12-19 16:25:17.806666", "msg": "", "rc": 0, "start": "2025-12-19 16:25:17.803754", "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.004940", "end": "2025-12-19 16:25:19.176746", "msg": "", "rc": 0, "start": "2025-12-19 16:25:19.171806", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028613", "end": "2025-12-19 16:25:17.796533", "msg": "", "rc": 0, "start": "2025-12-19 16:25:17.767920", "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.004110", "end": "2025-12-19 16:25:18.308017", "msg": "", "rc": 0, "start": "2025-12-19 16:25:18.303907", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004017", "end": "2025-12-19 16:25:18.327668", "msg": "", "rc": 0, "start": "2025-12-19 16:25:18.323651", "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.004836", "end": "2025-12-19 16:25:18.345812", "msg": "", "rc": 0, "start": "2025-12-19 16:25:18.340976", "stderr": "", "stderr_lines": [], "stdout": "0.97", "stdout_lines": ["0.97"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005328", "end": "2025-12-19 16:25:18.354938", "msg": "", "rc": 0, "start": "2025-12-19 16:25:18.349610", "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.006167", "end": "2025-12-19 16:25:18.369830", "msg": "", "rc": 0, "start": "2025-12-19 16:25:18.363663", "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.004701", "end": "2025-12-19 16:24:50.191892", "msg": "", "rc": 0, "start": "2025-12-19 16:24:50.187191", "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.005403", "end": "2025-12-19 16:24:42.992324", "msg": "", "rc": 0, "start": "2025-12-19 16:24:42.986921", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.010257", "end": "2025-12-19 16:25:19.106428", "msg": "", "rc": 0, "start": "2025-12-19 16:25:19.096171", "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.011035", "end": "2025-12-19 16:25:19.121589", "msg": "", "rc": 0, "start": "2025-12-19 16:25:19.110554", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.005905", "end": "2025-12-19 16:25:19.284240", "msg": "", "rc": 0, "start": "2025-12-19 16:25:19.278335", "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.005128", "end": "2025-12-19 16:24:46.161162", "msg": "", "rc": 0, "start": "2025-12-19 16:24:46.156034", "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.005910", "end": "2025-12-19 13:25:19.571913", "msg": "", "rc": 0, "start": "2025-12-19 13:25:19.566003", "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.004518", "end": "2025-12-19 16:24:53.557046", "msg": "", "rc": 0, "start": "2025-12-19 16:24:53.552528", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005190", "end": "2025-12-19 16:25:19.697377", "msg": "", "rc": 0, "start": "2025-12-19 16:25:19.692187", "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.008135", "end": "2025-12-19 16:25:21.235632", "msg": "", "rc": 0, "start": "2025-12-19 16:25:21.227497", "stderr": "", "stderr_lines": [], "stdout": "1.42", "stdout_lines": ["1.42"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024571", "end": "2025-12-19 16:25:19.686965", "msg": "", "rc": 0, "start": "2025-12-19 16:25:19.662394", "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: 16:25:10 up 24 days, 3:16, 1 user, load average: 0.02, 0.06, 0.08\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.01\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:10 up 7:09, 2 users, load average: 0.31, 0.23, 0.20\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.34\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:10 up 24 days, 3:36, 1 user, load average: 0.58, 0.70, 0.83\nDisk Usage: 14%\nMemory Usage: 48.8%\nCPU Load: 0.97\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:10 up 24 days, 4:49, 1 user, load average: 0.84, 0.87, 0.81\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.78\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:10 up 24 days, 5:35, 1 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:12 up 17 days, 5:51, 1 user, load average: 0.31, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.34\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:11 up 196 days, 7:58, 1 user, load average: 0.31, 0.22, 0.24\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.50\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:11 up 196 days, 7:58, 1 user, load average: 0.13, 0.15, 0.17\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.12\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:24:42 up 13 days, 4:14, 0 user, load average: 0.20, 0.14, 0.15\nDisk Usage: 50%\nMemory Usage: 70.2%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:24:35 up 20 days, 26 min, 0 user, load average: 0.36, 0.40, 0.21\nDisk Usage: 25%\nMemory Usage: 64.6%\nCPU Load: 0.46\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:11 up 7:08, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:24:38 up 22 days, 19:18, 0 user, load average: 0.54, 0.66, 0.62\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.53\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:24:45 up 19 days, 5:40, 0 user, load average: 0.24, 0.33, 0.43\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:25PM up 24 days, 3:14, 1 user, load averages: 0.27, 0.31, 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: 16:25:11 up 7:08, 1 user, load average: 0.00, 0.04, 0.05\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:25:12 up 2:30, 1 user, load average: 1.41, 1.29, 1.21\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T21:25:22.260832+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `de0e7da460ed46d1b27e04f4562fe71f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:30:00.001799+00:00 |
| **Fin** | 2025-12-19T21:30:22.716044+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: [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.003743", "end": "2025-12-19 16:30:10.906875", "msg": "", "rc": 0, "start": "2025-12-19 16:30:10.903132", "stderr": "", "stderr_lines": [], "stdout": " 16:30:10 up 24 days, 5:40, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:30:10 up 24 days, 5:40, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002824", "end": "2025-12-19 16:30:10.928679", "msg": "", "rc": 0, "start": "2025-12-19 16:30:10.925855", "stderr": "", "stderr_lines": [], "stdout": " 16:30:10 up 7:14, 1 user, load average: 0.63, 0.38, 0.26", "stdout_lines": [" 16:30:10 up 7:14, 1 user, load average: 0.63, 0.38, 0.26"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009222", "end": "2025-12-19 16:30:11.670305", "msg": "", "rc": 0, "start": "2025-12-19 16:30:11.661083", "stderr": "", "stderr_lines": [], "stdout": " 16:30:11 up 196 days, 8:03, 1 user, load average: 0.07, 0.17, 0.21", "stdout_lines": [" 16:30:11 up 196 days, 8:03, 1 user, load average: 0.07, 0.17, 0.21"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004293", "end": "2025-12-19 16:30:11.890165", "msg": "", "rc": 0, "start": "2025-12-19 16:30:10.885872", "stderr": "", "stderr_lines": [], "stdout": " 16:30:10 up 24 days, 3:21, 1 user, load average: 0.10, 0.08, 0.09", "stdout_lines": [" 16:30:10 up 24 days, 3:21, 1 user, load average: 0.10, 0.08, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004212", "end": "2025-12-19 16:30:11.901533", "msg": "", "rc": 0, "start": "2025-12-19 16:30:10.897321", "stderr": "", "stderr_lines": [], "stdout": " 16:30:10 up 24 days, 3:41, 1 user, load average: 1.13, 0.94, 0.89", "stdout_lines": [" 16:30:10 up 24 days, 3:41, 1 user, load average: 1.13, 0.94, 0.89"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004746", "end": "2025-12-19 16:30:11.915392", "msg": "", "rc": 0, "start": "2025-12-19 16:30:10.910646", "stderr": "", "stderr_lines": [], "stdout": " 16:30:10 up 24 days, 4:54, 1 user, load average: 0.76, 0.71, 0.74", "stdout_lines": [" 16:30:10 up 24 days, 4:54, 1 user, load average: 0.76, 0.71, 0.74"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002954", "end": "2025-12-19 16:29:43.673998", "msg": "", "rc": 0, "start": "2025-12-19 16:29:43.671044", "stderr": "", "stderr_lines": [], "stdout": " 16:29:43 up 13 days, 4:19, 0 user, load average: 0.21, 0.12, 0.12", "stdout_lines": [" 16:29:43 up 13 days, 4:19, 0 user, load average: 0.21, 0.12, 0.12"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004512", "end": "2025-12-19 16:30:12.371974", "msg": "", "rc": 0, "start": "2025-12-19 16:30:12.367462", "stderr": "", "stderr_lines": [], "stdout": " 16:30:12 up 7:13, 1 user, load average: 0.09, 0.08, 0.02", "stdout_lines": [" 16:30:12 up 7:13, 1 user, load average: 0.09, 0.08, 0.02"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019555", "end": "2025-12-19 16:30:12.281848", "msg": "", "rc": 0, "start": "2025-12-19 16:30:12.262293", "stderr": "", "stderr_lines": [], "stdout": " 16:30:12 up 17 days, 5:56, 1 user, load average: 0.28, 0.15, 0.10", "stdout_lines": [" 16:30:12 up 17 days, 5:56, 1 user, load average: 0.28, 0.15, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003805", "end": "2025-12-19 16:29:36.536760", "msg": "", "rc": 0, "start": "2025-12-19 16:29:36.532955", "stderr": "", "stderr_lines": [], "stdout": " 16:29:36 up 20 days, 31 min, 0 user, load average: 0.09, 0.18, 0.16", "stdout_lines": [" 16:29:36 up 20 days, 31 min, 0 user, load average: 0.09, 0.18, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008640", "end": "2025-12-19 16:30:12.446437", "msg": "", "rc": 0, "start": "2025-12-19 16:30:12.437797", "stderr": "", "stderr_lines": [], "stdout": " 16:30:12 up 196 days, 8:03, 1 user, load average: 0.13, 0.12, 0.14", "stdout_lines": [" 16:30:12 up 196 days, 8:03, 1 user, load average: 0.13, 0.12, 0.14"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004178", "end": "2025-12-19 13:30:12.814666", "msg": "", "rc": 0, "start": "2025-12-19 13:30:12.810488", "stderr": "", "stderr_lines": [], "stdout": " 1:30PM up 24 days, 3:20, 1 user, load averages: 0.46, 0.29, 0.26", "stdout_lines": [" 1:30PM up 24 days, 3:20, 1 user, load averages: 0.46, 0.29, 0.26"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007841", "end": "2025-12-19 16:30:13.304181", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.296340", "stderr": "", "stderr_lines": [], "stdout": " 16:30:13 up 2:35, 1 user, load average: 1.17, 1.17, 1.18", "stdout_lines": [" 16:30:13 up 2:35, 1 user, load average: 1.17, 1.17, 1.18"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003320", "end": "2025-12-19 16:29:46.790848", "msg": "", "rc": 0, "start": "2025-12-19 16:29:46.787528", "stderr": "", "stderr_lines": [], "stdout": " 16:29:46 up 19 days, 5:45, 0 user, load average: 0.61, 0.36, 0.39", "stdout_lines": [" 16:29:46 up 19 days, 5:45, 0 user, load average: 0.61, 0.36, 0.39"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003634", "end": "2025-12-19 16:30:12.883801", "msg": "", "rc": 0, "start": "2025-12-19 16:30:12.880167", "stderr": "", "stderr_lines": [], "stdout": " 16:30:12 up 7:13, 1 user, load average: 0.21, 0.09, 0.05", "stdout_lines": [" 16:30:12 up 7:13, 1 user, load average: 0.21, 0.09, 0.05"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003322", "end": "2025-12-19 16:29:39.611065", "msg": "", "rc": 0, "start": "2025-12-19 16:29:39.607743", "stderr": "", "stderr_lines": [], "stdout": " 16:29:39 up 22 days, 19:23, 0 user, load average: 0.50, 0.59, 0.60", "stdout_lines": [" 16:29:39 up 22 days, 19:23, 0 user, load average: 0.50, 0.59, 0.60"]}
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-19 16:30:13.278736", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.274601", "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-19 16:30:13.296613", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.292534", "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.004904", "end": "2025-12-19 16:30:13.302204", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.297300", "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.004269", "end": "2025-12-19 16:30:13.331929", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.327660", "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.005828", "end": "2025-12-19 16:30:13.352306", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.346478", "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.005648", "end": "2025-12-19 16:29:45.162067", "msg": "", "rc": 0, "start": "2025-12-19 16:29:45.156419", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005984", "end": "2025-12-19 16:29:38.008971", "msg": "", "rc": 0, "start": "2025-12-19 16:29:38.002987", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010629", "end": "2025-12-19 16:30:13.975269", "msg": "", "rc": 0, "start": "2025-12-19 16:30:13.964640", "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.011421", "end": "2025-12-19 16:30:14.020456", "msg": "", "rc": 0, "start": "2025-12-19 16:30:14.009035", "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.005996", "end": "2025-12-19 16:30:14.289724", "msg": "", "rc": 0, "start": "2025-12-19 16:30:14.283728", "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.005750", "end": "2025-12-19 13:30:14.477401", "msg": "", "rc": 0, "start": "2025-12-19 13:30:14.471651", "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.011854", "end": "2025-12-19 16:29:48.427846", "msg": "", "rc": 0, "start": "2025-12-19 16:29:48.415992", "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.005871", "end": "2025-12-19 16:29:41.210185", "msg": "", "rc": 0, "start": "2025-12-19 16:29:41.204314", "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.005356", "end": "2025-12-19 16:30:14.727745", "msg": "", "rc": 0, "start": "2025-12-19 16:30:14.722389", "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.025297", "end": "2025-12-19 16:30:14.665811", "msg": "", "rc": 0, "start": "2025-12-19 16:30:14.640514", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021162", "end": "2025-12-19 16:30:15.519704", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.498542", "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.004204", "end": "2025-12-19 16:30:15.220434", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.216230", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004233", "end": "2025-12-19 16:30:15.232318", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.228085", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.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.004988", "end": "2025-12-19 16:30:15.235554", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.230566", "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.004746", "end": "2025-12-19 16:30:15.261831", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.257085", "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.006037", "end": "2025-12-19 16:30:15.284293", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.278256", "stderr": "", "stderr_lines": [], "stdout": "59.3%", "stdout_lines": ["59.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.004284", "end": "2025-12-19 16:29:47.108543", "msg": "", "rc": 0, "start": "2025-12-19 16:29:47.104259", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004428", "end": "2025-12-19 16:29:39.926153", "msg": "", "rc": 0, "start": "2025-12-19 16:29:39.921725", "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.010879", "end": "2025-12-19 16:30:15.909822", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.898943", "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.011943", "end": "2025-12-19 16:30:15.952990", "msg": "", "rc": 0, "start": "2025-12-19 16:30:15.941047", "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.005609", "end": "2025-12-19 16:30:16.236954", "msg": "", "rc": 0, "start": "2025-12-19 16:30:16.231345", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004927", "end": "2025-12-19 16:29:43.093925", "msg": "", "rc": 0, "start": "2025-12-19 16:29:43.088998", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003698", "end": "2025-12-19 16:29:50.370358", "msg": "", "rc": 0, "start": "2025-12-19 16:29:50.366660", "stderr": "", "stderr_lines": [], "stdout": "59.3%", "stdout_lines": ["59.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.005117", "end": "2025-12-19 13:30:16.419017", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:30:16.413900", "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.005357", "end": "2025-12-19 16:30:16.672528", "msg": "", "rc": 0, "start": "2025-12-19 16:30:16.667171", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.010360", "end": "2025-12-19 16:30:17.590381", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.580021", "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.026034", "end": "2025-12-19 16:30:16.608965", "msg": "", "rc": 0, "start": "2025-12-19 16:30:16.582931", "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.005407", "end": "2025-12-19 16:30:17.150638", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.145231", "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.004954", "end": "2025-12-19 16:30:17.163161", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.158207", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003036", "end": "2025-12-19 16:30:17.208970", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.205934", "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.005569", "end": "2025-12-19 16:30:17.205515", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.199946", "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.006682", "end": "2025-12-19 16:30:17.221013", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.214331", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002401", "end": "2025-12-19 16:29:49.013184", "msg": "", "rc": 0, "start": "2025-12-19 16:29:49.010783", "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.003069", "end": "2025-12-19 16:29:41.843833", "msg": "", "rc": 0, "start": "2025-12-19 16:29:41.840764", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013047", "end": "2025-12-19 16:30:17.963279", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.950232", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011843", "end": "2025-12-19 16:30:17.966020", "msg": "", "rc": 0, "start": "2025-12-19 16:30:17.954177", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.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.003181", "end": "2025-12-19 16:30:18.145767", "msg": "", "rc": 0, "start": "2025-12-19 16:30:18.142586", "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-19 16:29:45.012854", "msg": "", "rc": 0, "start": "2025-12-19 16:29:45.010142", "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.004173", "end": "2025-12-19 13:30:18.421326", "msg": "", "rc": 0, "start": "2025-12-19 13:30:18.417153", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002618", "end": "2025-12-19 16:29:52.440555", "msg": "", "rc": 0, "start": "2025-12-19 16:29:52.437937", "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.003219", "end": "2025-12-19 16:30:18.566376", "msg": "", "rc": 0, "start": "2025-12-19 16:30:18.563157", "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.005417", "end": "2025-12-19 16:30:19.689504", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.684087", "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.028610", "end": "2025-12-19 16:30:18.536198", "msg": "", "rc": 0, "start": "2025-12-19 16:30:18.507588", "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.004092", "end": "2025-12-19 16:30:19.043823", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.039731", "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.004132", "end": "2025-12-19 16:30:19.064111", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.059979", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
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.004739", "end": "2025-12-19 16:30:19.085731", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.080992", "stderr": "", "stderr_lines": [], "stdout": "1.11", "stdout_lines": ["1.11"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005096", "end": "2025-12-19 16:30:19.104633", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.099537", "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.005777", "end": "2025-12-19 16:30:19.132072", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.126295", "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.004431", "end": "2025-12-19 16:29:50.909660", "msg": "", "rc": 0, "start": "2025-12-19 16:29:50.905229", "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.005269", "end": "2025-12-19 16:29:43.762846", "msg": "", "rc": 0, "start": "2025-12-19 16:29:43.757577", "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.010058", "end": "2025-12-19 16:30:19.735684", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.725626", "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.011071", "end": "2025-12-19 16:30:19.767571", "msg": "", "rc": 0, "start": "2025-12-19 16:30:19.756500", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
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-19 16:30:20.031921", "msg": "", "rc": 0, "start": "2025-12-19 16:30:20.026337", "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.004792", "end": "2025-12-19 16:29:46.936759", "msg": "", "rc": 0, "start": "2025-12-19 16:29:46.931967", "stderr": "", "stderr_lines": [], "stdout": "0.58", "stdout_lines": ["0.58"]}
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.004296", "end": "2025-12-19 16:29:54.180764", "msg": "", "rc": 0, "start": "2025-12-19 16:29:54.176468", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
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.005918", "end": "2025-12-19 13:30:20.230333", "msg": "", "rc": 0, "start": "2025-12-19 13:30:20.224415", "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.005219", "end": "2025-12-19 16:30:20.461789", "msg": "", "rc": 0, "start": "2025-12-19 16:30:20.456570", "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.008860", "end": "2025-12-19 16:30:21.788457", "msg": "", "rc": 0, "start": "2025-12-19 16:30:21.779597", "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.023861", "end": "2025-12-19 16:30:20.436087", "msg": "", "rc": 0, "start": "2025-12-19 16:30:20.412226", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:10 up 24 days, 3:21, 1 user, load average: 0.10, 0.08, 0.09\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:10 up 7:14, 1 user, load average: 0.63, 0.38, 0.26\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.60\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:10 up 24 days, 3:41, 1 user, load average: 1.13, 0.94, 0.89\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 1.11\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:10 up 24 days, 4:54, 1 user, load average: 0.76, 0.71, 0.74\nDisk Usage: 14%\nMemory Usage: 59.3%\nCPU Load: 0.78\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:10 up 24 days, 5:40, 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: 16:30:12 up 17 days, 5:56, 1 user, load average: 0.28, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.39\nCPU Temp: 36.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:11 up 196 days, 8:03, 1 user, load average: 0.07, 0.17, 0.21\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.06\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:12 up 196 days, 8:03, 1 user, load average: 0.13, 0.12, 0.14\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.12\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:29:43 up 13 days, 4:19, 0 user, load average: 0.21, 0.12, 0.12\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:29:36 up 20 days, 31 min, 0 user, load average: 0.09, 0.18, 0.16\nDisk Usage: 25%\nMemory Usage: 64.7%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:29:39 up 22 days, 19:23, 0 user, load average: 0.50, 0.59, 0.60\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.58\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:12 up 7:13, 1 user, load average: 0.09, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:29:46 up 19 days, 5:45, 0 user, load average: 0.61, 0.36, 0.39\nDisk Usage: 76%\nMemory Usage: 59.3%\nCPU Load: 0.64\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:30PM up 24 days, 3:20, 1 user, load averages: 0.46, 0.29, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:12 up 7:13, 1 user, load average: 0.21, 0.09, 0.05\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:30:13 up 2:35, 1 user, load average: 1.17, 1.17, 1.18\nDisk Usage: 1%\nMemory Usage: 12.5%\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-19T21:30:22.771501+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6e4d345b9f0f4e01936a0ec51eed08e6` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:40:00.010428+00:00 |
| **Fin** | 2025-12-19T21:40:24.769135+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: [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: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp.nas.home]
ok: [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.003184", "end": "2025-12-19 16:40:11.390095", "msg": "", "rc": 0, "start": "2025-12-19 16:40:11.386911", "stderr": "", "stderr_lines": [], "stdout": " 16:40:11 up 24 days, 3:51, 1 user, load average: 0.65, 0.75, 0.81", "stdout_lines": [" 16:40:11 up 24 days, 3:51, 1 user, load average: 0.65, 0.75, 0.81"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003140", "end": "2025-12-19 16:40:11.388646", "msg": "", "rc": 0, "start": "2025-12-19 16:40:11.385506", "stderr": "", "stderr_lines": [], "stdout": " 16:40:11 up 24 days, 3:31, 1 user, load average: 1.78, 0.46, 0.21", "stdout_lines": [" 16:40:11 up 24 days, 3:31, 1 user, load average: 1.78, 0.46, 0.21"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003793", "end": "2025-12-19 16:40:11.396112", "msg": "", "rc": 0, "start": "2025-12-19 16:40:11.392319", "stderr": "", "stderr_lines": [], "stdout": " 16:40:11 up 24 days, 5:50, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 16:40:11 up 24 days, 5:50, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002898", "end": "2025-12-19 16:40:11.434155", "msg": "", "rc": 0, "start": "2025-12-19 16:40:11.431257", "stderr": "", "stderr_lines": [], "stdout": " 16:40:11 up 7:24, 2 users, load average: 0.05, 0.19, 0.23", "stdout_lines": [" 16:40:11 up 7:24, 2 users, load average: 0.05, 0.19, 0.23"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002991", "end": "2025-12-19 16:39:43.234791", "msg": "", "rc": 0, "start": "2025-12-19 16:39:43.231800", "stderr": "", "stderr_lines": [], "stdout": " 16:39:43 up 13 days, 4:29, 0 user, load average: 0.12, 0.11, 0.09", "stdout_lines": [" 16:39:43 up 13 days, 4:29, 0 user, load average: 0.12, 0.11, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008498", "end": "2025-12-19 16:40:12.087562", "msg": "", "rc": 0, "start": "2025-12-19 16:40:12.079064", "stderr": "", "stderr_lines": [], "stdout": " 16:40:12 up 196 days, 8:13, 1 user, load average: 0.24, 0.20, 0.16", "stdout_lines": [" 16:40:12 up 196 days, 8:13, 1 user, load average: 0.24, 0.20, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009113", "end": "2025-12-19 16:40:12.137217", "msg": "", "rc": 0, "start": "2025-12-19 16:40:12.128104", "stderr": "", "stderr_lines": [], "stdout": " 16:40:12 up 196 days, 8:13, 1 user, load average: 0.18, 0.25, 0.23", "stdout_lines": [" 16:40:12 up 196 days, 8:13, 1 user, load average: 0.18, 0.25, 0.23"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004742", "end": "2025-12-19 16:40:12.431617", "msg": "", "rc": 0, "start": "2025-12-19 16:40:11.426875", "stderr": "", "stderr_lines": [], "stdout": " 16:40:11 up 24 days, 5:04, 1 user, load average: 1.54, 0.90, 0.79", "stdout_lines": [" 16:40:11 up 24 days, 5:04, 1 user, load average: 1.54, 0.90, 0.79"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004249", "end": "2025-12-19 16:39:36.519504", "msg": "", "rc": 0, "start": "2025-12-19 16:39:36.515255", "stderr": "", "stderr_lines": [], "stdout": " 16:39:36 up 20 days, 41 min, 0 user, load average: 5.33, 1.29, 0.49", "stdout_lines": [" 16:39:36 up 20 days, 41 min, 0 user, load average: 5.33, 1.29, 0.49"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004489", "end": "2025-12-19 16:40:12.594580", "msg": "", "rc": 0, "start": "2025-12-19 16:40:12.590091", "stderr": "", "stderr_lines": [], "stdout": " 16:40:12 up 7:23, 1 user, load average: 0.23, 0.08, 0.02", "stdout_lines": [" 16:40:12 up 7:23, 1 user, load average: 0.23, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004221", "end": "2025-12-19 16:39:39.466057", "msg": "", "rc": 0, "start": "2025-12-19 16:39:39.461836", "stderr": "", "stderr_lines": [], "stdout": " 16:39:39 up 22 days, 19:33, 0 user, load average: 0.62, 0.52, 0.54", "stdout_lines": [" 16:39:39 up 22 days, 19:33, 0 user, load average: 0.62, 0.52, 0.54"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019415", "end": "2025-12-19 16:40:12.772046", "msg": "", "rc": 0, "start": "2025-12-19 16:40:12.752631", "stderr": "", "stderr_lines": [], "stdout": " 16:40:12 up 17 days, 6:06, 1 user, load average: 0.21, 0.09, 0.08", "stdout_lines": [" 16:40:12 up 17 days, 6:06, 1 user, load average: 0.21, 0.09, 0.08"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005646", "end": "2025-12-19 13:40:12.887296", "msg": "", "rc": 0, "start": "2025-12-19 13:40:12.881650", "stderr": "", "stderr_lines": [], "stdout": " 1:40PM up 24 days, 3:30, 1 user, load averages: 1.37, 0.49, 0.33", "stdout_lines": [" 1:40PM up 24 days, 3:30, 1 user, load averages: 1.37, 0.49, 0.33"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002881", "end": "2025-12-19 16:39:46.853628", "msg": "", "rc": 0, "start": "2025-12-19 16:39:46.850747", "stderr": "", "stderr_lines": [], "stdout": " 16:39:46 up 19 days, 5:55, 0 user, load average: 0.21, 0.29, 0.35", "stdout_lines": [" 16:39:46 up 19 days, 5:55, 0 user, load average: 0.21, 0.29, 0.35"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003752", "end": "2025-12-19 16:40:13.053653", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.049901", "stderr": "", "stderr_lines": [], "stdout": " 16:40:13 up 7:23, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:40:13 up 7:23, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009040", "end": "2025-12-19 16:40:14.934568", "msg": "", "rc": 0, "start": "2025-12-19 16:40:14.925528", "stderr": "", "stderr_lines": [], "stdout": " 16:40:14 up 2:46, 1 user, load average: 1.31, 1.27, 1.22", "stdout_lines": [" 16:40:14 up 2:46, 1 user, load average: 1.31, 1.27, 1.22"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004527", "end": "2025-12-19 16:40:13.492337", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.487810", "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.004067", "end": "2025-12-19 16:40:13.503998", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.499931", "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.004817", "end": "2025-12-19 16:40:13.518060", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.513243", "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.004905", "end": "2025-12-19 16:40:13.551616", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.546711", "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.011231", "end": "2025-12-19 16:40:13.611721", "msg": "", "rc": 0, "start": "2025-12-19 16:40:13.600490", "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.004810", "end": "2025-12-19 16:39:45.349791", "msg": "", "rc": 0, "start": "2025-12-19 16:39:45.344981", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010415", "end": "2025-12-19 16:40:14.232268", "msg": "", "rc": 0, "start": "2025-12-19 16:40:14.221853", "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.011464", "end": "2025-12-19 16:40:14.273639", "msg": "", "rc": 0, "start": "2025-12-19 16:40:14.262175", "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.017759", "end": "2025-12-19 16:39:38.423357", "msg": "", "rc": 0, "start": "2025-12-19 16:39:38.405598", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005598", "end": "2025-12-19 16:40:14.473242", "msg": "", "rc": 0, "start": "2025-12-19 16:40:14.467644", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005097", "end": "2025-12-19 16:39:48.716858", "msg": "", "rc": 0, "start": "2025-12-19 16:39:48.711761", "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.005738", "end": "2025-12-19 13:40:14.798559", "msg": "", "rc": 0, "start": "2025-12-19 13:40:14.792821", "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.009864", "end": "2025-12-19 16:39:41.592795", "msg": "", "rc": 0, "start": "2025-12-19 16:39:41.582931", "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.005711", "end": "2025-12-19 16:40:14.908476", "msg": "", "rc": 0, "start": "2025-12-19 16:40:14.902765", "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.025812", "end": "2025-12-19 16:40:14.893864", "msg": "", "rc": 0, "start": "2025-12-19 16:40:14.868052", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020231", "end": "2025-12-19 16:40:17.129971", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.109740", "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.004398", "end": "2025-12-19 16:40:15.481515", "msg": "", "rc": 0, "start": "2025-12-19 16:40:15.477117", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004154", "end": "2025-12-19 16:40:15.498546", "msg": "", "rc": 0, "start": "2025-12-19 16:40:15.494392", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004497", "end": "2025-12-19 16:40:15.507616", "msg": "", "rc": 0, "start": "2025-12-19 16:40:15.503119", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004648", "end": "2025-12-19 16:40:15.541858", "msg": "", "rc": 0, "start": "2025-12-19 16:40:15.537210", "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.010161", "end": "2025-12-19 16:40:15.614368", "msg": "", "rc": 0, "start": "2025-12-19 16:40:15.604207", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003682", "end": "2025-12-19 16:39:47.314661", "msg": "", "rc": 0, "start": "2025-12-19 16:39:47.310979", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007275", "end": "2025-12-19 16:39:40.255329", "msg": "", "rc": 0, "start": "2025-12-19 16:39:40.248054", "stderr": "", "stderr_lines": [], "stdout": "66.1%", "stdout_lines": ["66.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.011082", "end": "2025-12-19 16:40:16.195599", "msg": "", "rc": 0, "start": "2025-12-19 16:40:16.184517", "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.012026", "end": "2025-12-19 16:40:16.217506", "msg": "", "rc": 0, "start": "2025-12-19 16:40:16.205480", "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.005699", "end": "2025-12-19 16:40:16.436595", "msg": "", "rc": 0, "start": "2025-12-19 16:40:16.430896", "stderr": "", "stderr_lines": [], "stdout": "16.9%", "stdout_lines": ["16.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.005486", "end": "2025-12-19 13:40:16.671090", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:40:16.665604", "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.003602", "end": "2025-12-19 16:39:50.644909", "msg": "", "rc": 0, "start": "2025-12-19 16:39:50.641307", "stderr": "", "stderr_lines": [], "stdout": "55.4%", "stdout_lines": ["55.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.004361", "end": "2025-12-19 16:39:43.500585", "msg": "", "rc": 0, "start": "2025-12-19 16:39:43.496224", "stderr": "", "stderr_lines": [], "stdout": "25.8%", "stdout_lines": ["25.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.005358", "end": "2025-12-19 16:40:16.867992", "msg": "", "rc": 0, "start": "2025-12-19 16:40:16.862634", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.008732", "end": "2025-12-19 16:40:19.196875", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.188143", "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.025850", "end": "2025-12-19 16:40:16.885829", "msg": "", "rc": 0, "start": "2025-12-19 16:40:16.859979", "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.005327", "end": "2025-12-19 16:40:17.417534", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.412207", "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.005586", "end": "2025-12-19 16:40:17.429890", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.424304", "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.004855", "end": "2025-12-19 16:40:17.432508", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.427653", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002837", "end": "2025-12-19 16:40:17.458916", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.456079", "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.007489", "end": "2025-12-19 16:40:17.521916", "msg": "", "rc": 0, "start": "2025-12-19 16:40:17.514427", "stderr": "", "stderr_lines": [], "stdout": "54.5°C", "stdout_lines": ["54.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.002698", "end": "2025-12-19 16:39:49.242098", "msg": "", "rc": 0, "start": "2025-12-19 16:39:49.239400", "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.011822", "end": "2025-12-19 16:40:18.103248", "msg": "", "rc": 0, "start": "2025-12-19 16:40:18.091426", "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-19 16:40:18.138652", "msg": "", "rc": 0, "start": "2025-12-19 16:40:18.125696", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003916", "end": "2025-12-19 16:39:42.372911", "msg": "", "rc": 0, "start": "2025-12-19 16:39:42.368995", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003151", "end": "2025-12-19 16:40:18.362936", "msg": "", "rc": 0, "start": "2025-12-19 16:40:18.359785", "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.002708", "end": "2025-12-19 16:39:52.584089", "msg": "", "rc": 0, "start": "2025-12-19 16:39:52.581381", "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.004118", "end": "2025-12-19 13:40:18.740405", "msg": "", "rc": 0, "start": "2025-12-19 13:40:18.736287", "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.003015", "end": "2025-12-19 16:40:18.793110", "msg": "", "rc": 0, "start": "2025-12-19 16:40:18.790095", "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.005027", "end": "2025-12-19 16:40:21.368284", "msg": "", "rc": 0, "start": "2025-12-19 16:40:21.363257", "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.028708", "end": "2025-12-19 16:40:18.824455", "msg": "", "rc": 0, "start": "2025-12-19 16:40:18.795747", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
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.007202", "end": "2025-12-19 16:39:45.884331", "msg": "", "rc": 0, "start": "2025-12-19 16:39:45.877129", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004730", "end": "2025-12-19 16:40:19.609969", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.605239", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
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.004299", "end": "2025-12-19 16:40:19.607684", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.603385", "stderr": "", "stderr_lines": [], "stdout": "1.51", "stdout_lines": ["1.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.003907", "end": "2025-12-19 16:40:19.630672", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.626765", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.005042", "end": "2025-12-19 16:40:19.646444", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.641402", "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.010973", "end": "2025-12-19 16:40:19.710591", "msg": "", "rc": 0, "start": "2025-12-19 16:40:19.699618", "stderr": "", "stderr_lines": [], "stdout": "1.82", "stdout_lines": ["1.82"]}
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.004400", "end": "2025-12-19 16:39:51.503620", "msg": "", "rc": 0, "start": "2025-12-19 16:39:51.499220", "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.010206", "end": "2025-12-19 16:40:20.404842", "msg": "", "rc": 0, "start": "2025-12-19 16:40:20.394636", "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.011110", "end": "2025-12-19 16:40:20.401958", "msg": "", "rc": 0, "start": "2025-12-19 16:40:20.390848", "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.008786", "end": "2025-12-19 16:39:44.505920", "msg": "", "rc": 0, "start": "2025-12-19 16:39:44.497134", "stderr": "", "stderr_lines": [], "stdout": "7.03", "stdout_lines": ["7.03"]}
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.005614", "end": "2025-12-19 16:40:20.635130", "msg": "", "rc": 0, "start": "2025-12-19 16:40:20.629516", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.005843", "end": "2025-12-19 13:40:20.893543", "msg": "", "rc": 0, "start": "2025-12-19 13:40:20.887700", "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.004617", "end": "2025-12-19 16:39:54.875763", "msg": "", "rc": 0, "start": "2025-12-19 16:39:54.871146", "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.005189", "end": "2025-12-19 16:40:21.058673", "msg": "", "rc": 0, "start": "2025-12-19 16:40:21.053484", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024413", "end": "2025-12-19 16:40:21.000232", "msg": "", "rc": 0, "start": "2025-12-19 16:40:20.975819", "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.010452", "end": "2025-12-19 16:39:47.821391", "msg": "", "rc": 0, "start": "2025-12-19 16:39:47.810939", "stderr": "", "stderr_lines": [], "stdout": "0.76", "stdout_lines": ["0.76"]}
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.008152", "end": "2025-12-19 16:40:23.873127", "msg": "", "rc": 0, "start": "2025-12-19 16:40:23.864975", "stderr": "", "stderr_lines": [], "stdout": "1.34", "stdout_lines": ["1.34"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:11 up 7:24, 2 users, load average: 0.05, 0.19, 0.23\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.19\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:11 up 24 days, 3:31, 1 user, load average: 1.78, 0.46, 0.21\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 1.51\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:11 up 24 days, 3:51, 1 user, load average: 0.65, 0.75, 0.81\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.63\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:11 up 24 days, 5:04, 1 user, load average: 1.54, 0.90, 0.79\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 1.82\nCPU Temp: 54.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:11 up 24 days, 5:50, 1 user, load average: 0.01, 0.02, 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: 16:40:12 up 17 days, 6:06, 1 user, load average: 0.21, 0.09, 0.08\nDisk Usage: 21%\nMemory Usage: 20.4%\nCPU Load: 0.25\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:12 up 196 days, 8:13, 1 user, load average: 0.18, 0.25, 0.23\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.15\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:12 up 196 days, 8:13, 1 user, load average: 0.24, 0.20, 0.16\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.22\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:39:43 up 13 days, 4:29, 0 user, load average: 0.12, 0.11, 0.09\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:39:36 up 20 days, 41 min, 0 user, load average: 5.33, 1.29, 0.49\nDisk Usage: 25%\nMemory Usage: 66.1%\nCPU Load: 7.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:12 up 7:23, 1 user, load average: 0.23, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 16.9%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:39:39 up 22 days, 19:33, 0 user, load average: 0.62, 0.52, 0.54\nDisk Usage: 28%\nMemory Usage: 25.8%\nCPU Load: 0.76\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:39:46 up 19 days, 5:55, 0 user, load average: 0.21, 0.29, 0.35\nDisk Usage: 76%\nMemory Usage: 55.4%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:40PM up 24 days, 3:30, 1 user, load averages: 1.37, 0.49, 0.33\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: 16:40:13 up 7:23, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 79%\nMemory Usage: 12.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:40:14 up 2:46, 1 user, load average: 1.31, 1.27, 1.22\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.34\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-19T21:40:24.829781+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `30a5a30c442441cead5ab8dda6bd494a` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:45:00.006695+00:00 |
| **Fin** | 2025-12-19T21:45:21.423569+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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.003306", "end": "2025-12-19 16:45:11.000157", "msg": "", "rc": 0, "start": "2025-12-19 16:45:10.996851", "stderr": "", "stderr_lines": [], "stdout": " 16:45:10 up 24 days, 3:36, 1 user, load average: 0.21, 0.43, 0.27", "stdout_lines": [" 16:45:10 up 24 days, 3:36, 1 user, load average: 0.21, 0.43, 0.27"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003792", "end": "2025-12-19 16:45:11.012072", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.008280", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 24 days, 5:55, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:45:11 up 24 days, 5:55, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003260", "end": "2025-12-19 16:45:11.026432", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.023172", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 24 days, 3:56, 1 user, load average: 0.75, 0.80, 0.82", "stdout_lines": [" 16:45:11 up 24 days, 3:56, 1 user, load average: 0.75, 0.80, 0.82"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002863", "end": "2025-12-19 16:45:11.047349", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.044486", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 7:29, 1 user, load average: 0.08, 0.16, 0.20", "stdout_lines": [" 16:45:11 up 7:29, 1 user, load average: 0.08, 0.16, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004291", "end": "2025-12-19 16:45:11.042120", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.037829", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 24 days, 5:09, 1 user, load average: 0.49, 1.02, 0.93", "stdout_lines": [" 16:45:11 up 24 days, 5:09, 1 user, load average: 0.49, 1.02, 0.93"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002861", "end": "2025-12-19 16:44:42.852835", "msg": "", "rc": 0, "start": "2025-12-19 16:44:42.849974", "stderr": "", "stderr_lines": [], "stdout": " 16:44:42 up 13 days, 4:34, 0 user, load average: 0.12, 0.09, 0.09", "stdout_lines": [" 16:44:42 up 13 days, 4:34, 0 user, load average: 0.12, 0.09, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003666", "end": "2025-12-19 16:44:35.708468", "msg": "", "rc": 0, "start": "2025-12-19 16:44:35.704802", "stderr": "", "stderr_lines": [], "stdout": " 16:44:35 up 20 days, 46 min, 0 user, load average: 0.27, 1.40, 0.89", "stdout_lines": [" 16:44:35 up 20 days, 46 min, 0 user, load average: 0.27, 1.40, 0.89"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008484", "end": "2025-12-19 16:45:11.710406", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.701922", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 196 days, 8:18, 1 user, load average: 0.14, 0.16, 0.15", "stdout_lines": [" 16:45:11 up 196 days, 8:18, 1 user, load average: 0.14, 0.16, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009103", "end": "2025-12-19 16:45:11.740219", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.731116", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 196 days, 8:18, 1 user, load average: 0.20, 0.23, 0.22", "stdout_lines": [" 16:45:11 up 196 days, 8:18, 1 user, load average: 0.20, 0.23, 0.22"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004642", "end": "2025-12-19 16:45:11.994879", "msg": "", "rc": 0, "start": "2025-12-19 16:45:11.990237", "stderr": "", "stderr_lines": [], "stdout": " 16:45:11 up 7:28, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 16:45:11 up 7:28, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004120", "end": "2025-12-19 13:45:12.195925", "msg": "", "rc": 0, "start": "2025-12-19 13:45:12.191805", "stderr": "", "stderr_lines": [], "stdout": " 1:45PM up 24 days, 3:34, 1 user, load averages: 0.21, 0.37, 0.32", "stdout_lines": [" 1:45PM up 24 days, 3:34, 1 user, load averages: 0.21, 0.37, 0.32"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003484", "end": "2025-12-19 16:44:38.919027", "msg": "", "rc": 0, "start": "2025-12-19 16:44:38.915543", "stderr": "", "stderr_lines": [], "stdout": " 16:44:38 up 22 days, 19:38, 0 user, load average: 0.30, 0.41, 0.49", "stdout_lines": [" 16:44:38 up 22 days, 19:38, 0 user, load average: 0.30, 0.41, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002973", "end": "2025-12-19 16:44:46.171087", "msg": "", "rc": 0, "start": "2025-12-19 16:44:46.168114", "stderr": "", "stderr_lines": [], "stdout": " 16:44:46 up 19 days, 6:00, 0 user, load average: 0.15, 0.22, 0.31", "stdout_lines": [" 16:44:46 up 19 days, 6:00, 0 user, load average: 0.15, 0.22, 0.31"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003661", "end": "2025-12-19 16:45:12.417473", "msg": "", "rc": 0, "start": "2025-12-19 16:45:12.413812", "stderr": "", "stderr_lines": [], "stdout": " 16:45:12 up 7:28, 1 user, load average: 0.07, 0.13, 0.06", "stdout_lines": [" 16:45:12 up 7:28, 1 user, load average: 0.07, 0.13, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009056", "end": "2025-12-19 16:45:14.999885", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.990829", "stderr": "", "stderr_lines": [], "stdout": " 16:45:14 up 2:52, 1 user, load average: 1.36, 1.19, 1.19", "stdout_lines": [" 16:45:14 up 2:52, 1 user, load average: 1.36, 1.19, 1.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019659", "end": "2025-12-19 16:45:12.411958", "msg": "", "rc": 0, "start": "2025-12-19 16:45:12.392299", "stderr": "", "stderr_lines": [], "stdout": " 16:45:12 up 17 days, 6:11, 1 user, load average: 0.23, 0.12, 0.10", "stdout_lines": [" 16:45:12 up 17 days, 6:11, 1 user, load average: 0.23, 0.12, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004127", "end": "2025-12-19 16:45:12.940506", "msg": "", "rc": 0, "start": "2025-12-19 16:45:12.936379", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004125", "end": "2025-12-19 16:45:12.957458", "msg": "", "rc": 0, "start": "2025-12-19 16:45:12.953333", "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.004713", "end": "2025-12-19 16:45:12.956341", "msg": "", "rc": 0, "start": "2025-12-19 16:45:12.951628", "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.004347", "end": "2025-12-19 16:45:12.997353", "msg": "", "rc": 0, "start": "2025-12-19 16:45:12.993006", "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.006105", "end": "2025-12-19 16:45:13.007140", "msg": "", "rc": 0, "start": "2025-12-19 16:45:13.001035", "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.004892", "end": "2025-12-19 16:44:44.800373", "msg": "", "rc": 0, "start": "2025-12-19 16:44:44.795481", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005700", "end": "2025-12-19 16:44:37.642425", "msg": "", "rc": 0, "start": "2025-12-19 16:44:37.636725", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010357", "end": "2025-12-19 16:45:13.665043", "msg": "", "rc": 0, "start": "2025-12-19 16:45:13.654686", "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.011482", "end": "2025-12-19 16:45:13.702240", "msg": "", "rc": 0, "start": "2025-12-19 16:45:13.690758", "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.005531", "end": "2025-12-19 16:45:13.936815", "msg": "", "rc": 0, "start": "2025-12-19 16:45:13.931284", "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.005333", "end": "2025-12-19 16:44:40.822079", "msg": "", "rc": 0, "start": "2025-12-19 16:44:40.816746", "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.005275", "end": "2025-12-19 13:45:14.159655", "msg": "", "rc": 0, "start": "2025-12-19 13:45:14.154380", "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.005807", "end": "2025-12-19 16:44:48.125676", "msg": "", "rc": 0, "start": "2025-12-19 16:44:48.119869", "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.005227", "end": "2025-12-19 16:45:14.366977", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.361750", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021103", "end": "2025-12-19 16:45:17.090296", "msg": "", "rc": 0, "start": "2025-12-19 16:45:17.069193", "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.025025", "end": "2025-12-19 16:45:14.333562", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.308537", "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.004207", "end": "2025-12-19 16:45:14.842530", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.838323", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004323", "end": "2025-12-19 16:45:14.868794", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.864471", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004725", "end": "2025-12-19 16:45:14.907154", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.902429", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005076", "end": "2025-12-19 16:45:14.908657", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.903581", "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.005648", "end": "2025-12-19 16:45:14.922947", "msg": "", "rc": 0, "start": "2025-12-19 16:45:14.917299", "stderr": "", "stderr_lines": [], "stdout": "60.0%", "stdout_lines": ["60.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004513", "end": "2025-12-19 16:44:46.757520", "msg": "", "rc": 0, "start": "2025-12-19 16:44:46.753007", "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.003977", "end": "2025-12-19 16:44:39.558653", "msg": "", "rc": 0, "start": "2025-12-19 16:44:39.554676", "stderr": "", "stderr_lines": [], "stdout": "74.1%", "stdout_lines": ["74.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.011018", "end": "2025-12-19 16:45:15.567495", "msg": "", "rc": 0, "start": "2025-12-19 16:45:15.556477", "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.011800", "end": "2025-12-19 16:45:15.580221", "msg": "", "rc": 0, "start": "2025-12-19 16:45:15.568421", "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.006041", "end": "2025-12-19 16:45:15.899012", "msg": "", "rc": 0, "start": "2025-12-19 16:45:15.892971", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004384", "end": "2025-12-19 16:44:42.740070", "msg": "", "rc": 0, "start": "2025-12-19 16:44:42.735686", "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.005278", "end": "2025-12-19 13:45:16.048244", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:45:16.042966", "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.003957", "end": "2025-12-19 16:44:50.009163", "msg": "", "rc": 0, "start": "2025-12-19 16:44:50.005206", "stderr": "", "stderr_lines": [], "stdout": "55.9%", "stdout_lines": ["55.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.005329", "end": "2025-12-19 16:45:16.325759", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.320430", "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.025804", "end": "2025-12-19 16:45:16.228771", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.202967", "stderr": "", "stderr_lines": [], "stdout": "20.5%", "stdout_lines": ["20.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010488", "end": "2025-12-19 16:45:19.211688", "msg": "", "rc": 0, "start": "2025-12-19 16:45:19.201200", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.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.005321", "end": "2025-12-19 16:45:16.756532", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.751211", "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.004795", "end": "2025-12-19 16:45:16.779324", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.774529", "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.005715", "end": "2025-12-19 16:45:16.796134", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.790419", "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.003228", "end": "2025-12-19 16:45:16.806856", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.803628", "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.006160", "end": "2025-12-19 16:45:16.819469", "msg": "", "rc": 0, "start": "2025-12-19 16:45:16.813309", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002759", "end": "2025-12-19 16:44:48.587864", "msg": "", "rc": 0, "start": "2025-12-19 16:44:48.585105", "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.003060", "end": "2025-12-19 16:44:41.420528", "msg": "", "rc": 0, "start": "2025-12-19 16:44:41.417468", "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.011952", "end": "2025-12-19 16:45:17.443907", "msg": "", "rc": 0, "start": "2025-12-19 16:45:17.431955", "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.012826", "end": "2025-12-19 16:45:17.491434", "msg": "", "rc": 0, "start": "2025-12-19 16:45:17.478608", "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.003419", "end": "2025-12-19 16:45:17.724248", "msg": "", "rc": 0, "start": "2025-12-19 16:45:17.720829", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002961", "end": "2025-12-19 16:44:44.593396", "msg": "", "rc": 0, "start": "2025-12-19 16:44:44.590435", "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.002538", "end": "2025-12-19 16:44:51.888142", "msg": "", "rc": 0, "start": "2025-12-19 16:44:51.885604", "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.003820", "end": "2025-12-19 13:45:17.950253", "msg": "", "rc": 0, "start": "2025-12-19 13:45:17.946433", "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.002950", "end": "2025-12-19 16:45:18.140111", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.137161", "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.004493", "end": "2025-12-19 16:45:18.294409", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.289916", "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.028153", "end": "2025-12-19 16:45:18.138228", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.110075", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004115", "end": "2025-12-19 16:45:18.664946", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.660831", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003975", "end": "2025-12-19 16:45:18.678552", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.674577", "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.004482", "end": "2025-12-19 16:45:18.702176", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.697694", "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.005114", "end": "2025-12-19 16:45:18.702425", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.697311", "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.005350", "end": "2025-12-19 16:45:18.717292", "msg": "", "rc": 0, "start": "2025-12-19 16:45:18.711942", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
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.004276", "end": "2025-12-19 16:44:50.491681", "msg": "", "rc": 0, "start": "2025-12-19 16:44:50.487405", "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.005329", "end": "2025-12-19 16:44:43.345623", "msg": "", "rc": 0, "start": "2025-12-19 16:44:43.340294", "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.009854", "end": "2025-12-19 16:45:19.454409", "msg": "", "rc": 0, "start": "2025-12-19 16:45:19.444555", "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.011296", "end": "2025-12-19 16:45:19.508573", "msg": "", "rc": 0, "start": "2025-12-19 16:45:19.497277", "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.005827", "end": "2025-12-19 16:45:19.623781", "msg": "", "rc": 0, "start": "2025-12-19 16:45:19.617954", "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.004503", "end": "2025-12-19 16:44:46.519737", "msg": "", "rc": 0, "start": "2025-12-19 16:44:46.515234", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.004368", "end": "2025-12-19 16:44:53.905748", "msg": "", "rc": 0, "start": "2025-12-19 16:44:53.901380", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.006290", "end": "2025-12-19 13:45:19.975031", "msg": "", "rc": 0, "start": "2025-12-19 13:45:19.968741", "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.005177", "end": "2025-12-19 16:45:20.065710", "msg": "", "rc": 0, "start": "2025-12-19 16:45:20.060533", "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.008596", "end": "2025-12-19 16:45:20.417576", "msg": "", "rc": 0, "start": "2025-12-19 16:45:20.408980", "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.024548", "end": "2025-12-19 16:45:20.059716", "msg": "", "rc": 0, "start": "2025-12-19 16:45:20.035168", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:10 up 24 days, 3:36, 1 user, load average: 0.21, 0.43, 0.27\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.25\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 7:29, 1 user, load average: 0.08, 0.16, 0.20\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.14\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 24 days, 3:56, 1 user, load average: 0.75, 0.80, 0.82\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.64\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 24 days, 5:09, 1 user, load average: 0.49, 1.02, 0.93\nDisk Usage: 14%\nMemory Usage: 60.0%\nCPU Load: 0.53\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 24 days, 5:55, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:12 up 17 days, 6:11, 1 user, load average: 0.23, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.29\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 196 days, 8:18, 1 user, load average: 0.20, 0.23, 0.22\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.19\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 196 days, 8:18, 1 user, load average: 0.14, 0.16, 0.15\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: 16:44:42 up 13 days, 4:34, 0 user, load average: 0.12, 0.09, 0.09\nDisk Usage: 50%\nMemory Usage: 70.9%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:44:35 up 20 days, 46 min, 0 user, load average: 0.27, 1.40, 0.89\nDisk Usage: 25%\nMemory Usage: 74.1%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:11 up 7:28, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:44:38 up 22 days, 19:38, 0 user, load average: 0.30, 0.41, 0.49\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:44:46 up 19 days, 6:00, 0 user, load average: 0.15, 0.22, 0.31\nDisk Usage: 76%\nMemory Usage: 55.9%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:45PM up 24 days, 3:34, 1 user, load averages: 0.21, 0.37, 0.32\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: 16:45:12 up 7:28, 1 user, load average: 0.07, 0.13, 0.06\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:45:14 up 2:52, 1 user, load average: 1.36, 1.19, 1.19\nDisk Usage: 1%\nMemory Usage: 12.7%\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-19T21:45:21.484241+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `90779361714a4603916ed6417e856a14` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:50:00.002790+00:00 |
| **Fin** | 2025-12-19T21:50:21.388465+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [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: [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.003285", "end": "2025-12-19 16:50:10.384286", "msg": "", "rc": 0, "start": "2025-12-19 16:50:10.381001", "stderr": "", "stderr_lines": [], "stdout": " 16:50:10 up 24 days, 3:41, 1 user, load average: 0.16, 0.23, 0.22", "stdout_lines": [" 16:50:10 up 24 days, 3:41, 1 user, load average: 0.16, 0.23, 0.22"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003570", "end": "2025-12-19 16:50:10.410430", "msg": "", "rc": 0, "start": "2025-12-19 16:50:10.406860", "stderr": "", "stderr_lines": [], "stdout": " 16:50:10 up 24 days, 6:00, 1 user, load average: 0.01, 0.01, 0.00", "stdout_lines": [" 16:50:10 up 24 days, 6:00, 1 user, load average: 0.01, 0.01, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002842", "end": "2025-12-19 16:50:10.423524", "msg": "", "rc": 0, "start": "2025-12-19 16:50:10.420682", "stderr": "", "stderr_lines": [], "stdout": " 16:50:10 up 7:34, 1 user, load average: 0.16, 0.18, 0.18", "stdout_lines": [" 16:50:10 up 7:34, 1 user, load average: 0.16, 0.18, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003975", "end": "2025-12-19 16:50:10.424882", "msg": "", "rc": 0, "start": "2025-12-19 16:50:10.420907", "stderr": "", "stderr_lines": [], "stdout": " 16:50:10 up 24 days, 5:14, 1 user, load average: 0.41, 0.68, 0.81", "stdout_lines": [" 16:50:10 up 24 days, 5:14, 1 user, load average: 0.41, 0.68, 0.81"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004087", "end": "2025-12-19 16:50:10.448735", "msg": "", "rc": 0, "start": "2025-12-19 16:50:10.444648", "stderr": "", "stderr_lines": [], "stdout": " 16:50:10 up 24 days, 4:01, 1 user, load average: 0.86, 0.83, 0.82", "stdout_lines": [" 16:50:10 up 24 days, 4:01, 1 user, load average: 0.86, 0.83, 0.82"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002947", "end": "2025-12-19 16:49:42.215493", "msg": "", "rc": 0, "start": "2025-12-19 16:49:42.212546", "stderr": "", "stderr_lines": [], "stdout": " 16:49:42 up 13 days, 4:39, 0 user, load average: 0.11, 0.09, 0.09", "stdout_lines": [" 16:49:42 up 13 days, 4:39, 0 user, load average: 0.11, 0.09, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003507", "end": "2025-12-19 16:49:35.067106", "msg": "", "rc": 0, "start": "2025-12-19 16:49:35.063599", "stderr": "", "stderr_lines": [], "stdout": " 16:49:35 up 20 days, 51 min, 0 user, load average: 0.23, 0.57, 0.66", "stdout_lines": [" 16:49:35 up 20 days, 51 min, 0 user, load average: 0.23, 0.57, 0.66"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008491", "end": "2025-12-19 16:50:11.077076", "msg": "", "rc": 0, "start": "2025-12-19 16:50:11.068585", "stderr": "", "stderr_lines": [], "stdout": " 16:50:11 up 196 days, 8:23, 1 user, load average: 0.17, 0.18, 0.17", "stdout_lines": [" 16:50:11 up 196 days, 8:23, 1 user, load average: 0.17, 0.18, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009287", "end": "2025-12-19 16:50:11.130902", "msg": "", "rc": 0, "start": "2025-12-19 16:50:11.121615", "stderr": "", "stderr_lines": [], "stdout": " 16:50:11 up 196 days, 8:23, 1 user, load average: 0.39, 0.30, 0.24", "stdout_lines": [" 16:50:11 up 196 days, 8:23, 1 user, load average: 0.39, 0.30, 0.24"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004492", "end": "2025-12-19 16:50:11.349865", "msg": "", "rc": 0, "start": "2025-12-19 16:50:11.345373", "stderr": "", "stderr_lines": [], "stdout": " 16:50:11 up 7:33, 1 user, load average: 0.06, 0.02, 0.00", "stdout_lines": [" 16:50:11 up 7:33, 1 user, load average: 0.06, 0.02, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002800", "end": "2025-12-19 16:49:45.505348", "msg": "", "rc": 0, "start": "2025-12-19 16:49:45.502548", "stderr": "", "stderr_lines": [], "stdout": " 16:49:45 up 19 days, 6:05, 0 user, load average: 0.51, 0.30, 0.30", "stdout_lines": [" 16:49:45 up 19 days, 6:05, 0 user, load average: 0.51, 0.30, 0.30"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004207", "end": "2025-12-19 13:50:11.574756", "msg": "", "rc": 0, "start": "2025-12-19 13:50:11.570549", "stderr": "", "stderr_lines": [], "stdout": " 1:50PM up 24 days, 3:39, 1 user, load averages: 0.15, 0.24, 0.26", "stdout_lines": [" 1:50PM up 24 days, 3:39, 1 user, load averages: 0.15, 0.24, 0.26"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003610", "end": "2025-12-19 16:49:38.284497", "msg": "", "rc": 0, "start": "2025-12-19 16:49:38.280887", "stderr": "", "stderr_lines": [], "stdout": " 16:49:38 up 22 days, 19:43, 0 user, load average: 0.84, 0.51, 0.49", "stdout_lines": [" 16:49:38 up 22 days, 19:43, 0 user, load average: 0.84, 0.51, 0.49"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003630", "end": "2025-12-19 16:50:11.767090", "msg": "", "rc": 0, "start": "2025-12-19 16:50:11.763460", "stderr": "", "stderr_lines": [], "stdout": " 16:50:11 up 7:33, 1 user, load average: 0.07, 0.06, 0.04", "stdout_lines": [" 16:50:11 up 7:33, 1 user, load average: 0.07, 0.06, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008247", "end": "2025-12-19 16:50:12.023416", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.015169", "stderr": "", "stderr_lines": [], "stdout": " 16:50:12 up 2:57, 1 user, load average: 1.24, 1.17, 1.18", "stdout_lines": [" 16:50:12 up 2:57, 1 user, load average: 1.24, 1.17, 1.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019387", "end": "2025-12-19 16:50:11.755560", "msg": "", "rc": 0, "start": "2025-12-19 16:50:11.736173", "stderr": "", "stderr_lines": [], "stdout": " 16:50:11 up 17 days, 6:16, 1 user, load average: 0.15, 0.13, 0.10", "stdout_lines": [" 16:50:11 up 17 days, 6:16, 1 user, load average: 0.15, 0.13, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004114", "end": "2025-12-19 16:50:12.269480", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.265366", "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.004094", "end": "2025-12-19 16:50:12.294504", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.290410", "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.004717", "end": "2025-12-19 16:50:12.304784", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.300067", "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.004827", "end": "2025-12-19 16:50:12.322727", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.317900", "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.005764", "end": "2025-12-19 16:50:12.354052", "msg": "", "rc": 0, "start": "2025-12-19 16:50:12.348288", "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.005261", "end": "2025-12-19 16:49:44.093668", "msg": "", "rc": 0, "start": "2025-12-19 16:49:44.088407", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005779", "end": "2025-12-19 16:49:36.988936", "msg": "", "rc": 0, "start": "2025-12-19 16:49:36.983157", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010540", "end": "2025-12-19 16:50:13.014644", "msg": "", "rc": 0, "start": "2025-12-19 16:50:13.004104", "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.011598", "end": "2025-12-19 16:50:13.034893", "msg": "", "rc": 0, "start": "2025-12-19 16:50:13.023295", "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-19 16:50:13.220585", "msg": "", "rc": 0, "start": "2025-12-19 16:50:13.214941", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004537", "end": "2025-12-19 16:49:47.451796", "msg": "", "rc": 0, "start": "2025-12-19 16:49:47.447259", "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.005405", "end": "2025-12-19 16:49:40.196420", "msg": "", "rc": 0, "start": "2025-12-19 16:49:40.191015", "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.005306", "end": "2025-12-19 13:50:13.505666", "msg": "", "rc": 0, "start": "2025-12-19 13:50:13.500360", "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.005498", "end": "2025-12-19 16:50:13.654077", "msg": "", "rc": 0, "start": "2025-12-19 16:50:13.648579", "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.025194", "end": "2025-12-19 16:50:13.643447", "msg": "", "rc": 0, "start": "2025-12-19 16:50:13.618253", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023173", "end": "2025-12-19 16:50:14.203543", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.180370", "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.004233", "end": "2025-12-19 16:50:14.281483", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.277250", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004163", "end": "2025-12-19 16:50:14.296480", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.292317", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004730", "end": "2025-12-19 16:50:14.302954", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.298224", "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.005092", "end": "2025-12-19 16:50:14.317051", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.311959", "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.006778", "end": "2025-12-19 16:50:14.339599", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.332821", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004253", "end": "2025-12-19 16:49:46.108038", "msg": "", "rc": 0, "start": "2025-12-19 16:49:46.103785", "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.005306", "end": "2025-12-19 16:49:38.956998", "msg": "", "rc": 0, "start": "2025-12-19 16:49:38.951692", "stderr": "", "stderr_lines": [], "stdout": "65.9%", "stdout_lines": ["65.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.010874", "end": "2025-12-19 16:50:14.958768", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.947894", "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.011965", "end": "2025-12-19 16:50:14.984965", "msg": "", "rc": 0, "start": "2025-12-19 16:50:14.973000", "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.006864", "end": "2025-12-19 16:50:15.245953", "msg": "", "rc": 0, "start": "2025-12-19 16:50:15.239089", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.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.005233", "end": "2025-12-19 13:50:15.436089", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:50:15.430856", "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.005194", "end": "2025-12-19 16:49:42.157634", "msg": "", "rc": 0, "start": "2025-12-19 16:49:42.152440", "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.003694", "end": "2025-12-19 16:49:49.413388", "msg": "", "rc": 0, "start": "2025-12-19 16:49:49.409694", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.005380", "end": "2025-12-19 16:50:15.677898", "msg": "", "rc": 0, "start": "2025-12-19 16:50:15.672518", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.012844", "end": "2025-12-19 16:50:16.333699", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.320855", "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.025895", "end": "2025-12-19 16:50:15.667024", "msg": "", "rc": 0, "start": "2025-12-19 16:50:15.641129", "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.005134", "end": "2025-12-19 16:50:16.178994", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.173860", "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.004902", "end": "2025-12-19 16:50:16.198788", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.193886", "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.005759", "end": "2025-12-19 16:50:16.215139", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.209380", "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.003438", "end": "2025-12-19 16:50:16.233271", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.229833", "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-19 16:50:16.238571", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.231946", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002835", "end": "2025-12-19 16:49:48.007424", "msg": "", "rc": 0, "start": "2025-12-19 16:49:48.004589", "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.003138", "end": "2025-12-19 16:49:40.832283", "msg": "", "rc": 0, "start": "2025-12-19 16:49:40.829145", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011857", "end": "2025-12-19 16:50:16.869870", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.858013", "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.012924", "end": "2025-12-19 16:50:16.905549", "msg": "", "rc": 0, "start": "2025-12-19 16:50:16.892625", "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.003130", "end": "2025-12-19 16:50:17.142333", "msg": "", "rc": 0, "start": "2025-12-19 16:50:17.139203", "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.002775", "end": "2025-12-19 16:49:44.002212", "msg": "", "rc": 0, "start": "2025-12-19 16:49:43.999437", "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-19 13:50:17.356609", "msg": "", "rc": 0, "start": "2025-12-19 13:50:17.352755", "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.002882", "end": "2025-12-19 16:49:51.301566", "msg": "", "rc": 0, "start": "2025-12-19 16:49:51.298684", "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.003298", "end": "2025-12-19 16:50:17.557605", "msg": "", "rc": 0, "start": "2025-12-19 16:50:17.554307", "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.004241", "end": "2025-12-19 16:50:18.348534", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.344293", "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.028416", "end": "2025-12-19 16:50:17.562297", "msg": "", "rc": 0, "start": "2025-12-19 16:50:17.533881", "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.004046", "end": "2025-12-19 16:50:18.081422", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.077376", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004632", "end": "2025-12-19 16:50:18.099792", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.095160", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004125", "end": "2025-12-19 16:50:18.106462", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.102337", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.005335", "end": "2025-12-19 16:50:18.133187", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.127852", "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.005592", "end": "2025-12-19 16:50:18.133157", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.127565", "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.004763", "end": "2025-12-19 16:49:49.906725", "msg": "", "rc": 0, "start": "2025-12-19 16:49:49.901962", "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.005165", "end": "2025-12-19 16:49:42.738061", "msg": "", "rc": 0, "start": "2025-12-19 16:49:42.732896", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.010131", "end": "2025-12-19 16:50:18.861632", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.851501", "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.011403", "end": "2025-12-19 16:50:18.875855", "msg": "", "rc": 0, "start": "2025-12-19 16:50:18.864452", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005790", "end": "2025-12-19 16:50:19.079268", "msg": "", "rc": 0, "start": "2025-12-19 16:50:19.073478", "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.005086", "end": "2025-12-19 16:49:45.920715", "msg": "", "rc": 0, "start": "2025-12-19 16:49:45.915629", "stderr": "", "stderr_lines": [], "stdout": "0.86", "stdout_lines": ["0.86"]}
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.006127", "end": "2025-12-19 13:50:19.338885", "msg": "", "rc": 0, "start": "2025-12-19 13:50:19.332758", "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.004784", "end": "2025-12-19 16:49:53.300204", "msg": "", "rc": 0, "start": "2025-12-19 16:49:53.295420", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
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.005247", "end": "2025-12-19 16:50:19.494047", "msg": "", "rc": 0, "start": "2025-12-19 16:50:19.488800", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.007835", "end": "2025-12-19 16:50:20.427853", "msg": "", "rc": 0, "start": "2025-12-19 16:50:20.420018", "stderr": "", "stderr_lines": [], "stdout": "1.30", "stdout_lines": ["1.30"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.023888", "end": "2025-12-19 16:50:19.456251", "msg": "", "rc": 0, "start": "2025-12-19 16:50:19.432363", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:10 up 24 days, 3:41, 1 user, load average: 0.16, 0.23, 0.22\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.15\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:10 up 7:34, 1 user, load average: 0.16, 0.18, 0.18\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.21\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:10 up 24 days, 4:01, 1 user, load average: 0.86, 0.83, 0.82\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.73\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:10 up 24 days, 5:14, 1 user, load average: 0.41, 0.68, 0.81\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.43\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:10 up 24 days, 6:00, 1 user, load average: 0.01, 0.01, 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: 16:50:11 up 17 days, 6:16, 1 user, load average: 0.15, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.22\nCPU Temp: 36.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:11 up 196 days, 8:23, 1 user, load average: 0.39, 0.30, 0.24\nDisk Usage: 6%\nMemory Usage: 12.6%\nCPU Load: 0.36\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:11 up 196 days, 8:23, 1 user, load average: 0.17, 0.18, 0.17\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.15\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:49:42 up 13 days, 4:39, 0 user, load average: 0.11, 0.09, 0.09\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:49:35 up 20 days, 51 min, 0 user, load average: 0.23, 0.57, 0.66\nDisk Usage: 25%\nMemory Usage: 65.9%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:11 up 7:33, 1 user, load average: 0.06, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:49:38 up 22 days, 19:43, 0 user, load average: 0.84, 0.51, 0.49\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.86\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:49:45 up 19 days, 6:05, 0 user, load average: 0.51, 0.30, 0.30\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 0.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:50PM up 24 days, 3:39, 1 user, load averages: 0.15, 0.24, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:11 up 7:33, 1 user, load average: 0.07, 0.06, 0.04\nDisk Usage: 79%\nMemory Usage: 13.0%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:50:12 up 2:57, 1 user, load average: 1.24, 1.17, 1.18\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T21:50:21.592082+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `76f11f32288c4429b6fc126472e37cbd` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T21:55:00.006108+00:00 |
| **Fin** | 2025-12-19T21:55:21.555272+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [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.003359", "end": "2025-12-19 16:55:09.899609", "msg": "", "rc": 0, "start": "2025-12-19 16:55:09.896250", "stderr": "", "stderr_lines": [], "stdout": " 16:55:09 up 24 days, 3:46, 1 user, load average: 0.17, 0.16, 0.18", "stdout_lines": [" 16:55:09 up 24 days, 3:46, 1 user, load average: 0.17, 0.16, 0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003331", "end": "2025-12-19 16:55:09.907858", "msg": "", "rc": 0, "start": "2025-12-19 16:55:09.904527", "stderr": "", "stderr_lines": [], "stdout": " 16:55:09 up 24 days, 4:06, 1 user, load average: 0.84, 0.76, 0.77", "stdout_lines": [" 16:55:09 up 24 days, 4:06, 1 user, load average: 0.84, 0.76, 0.77"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003759", "end": "2025-12-19 16:55:09.909525", "msg": "", "rc": 0, "start": "2025-12-19 16:55:09.905766", "stderr": "", "stderr_lines": [], "stdout": " 16:55:09 up 24 days, 6:05, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 16:55:09 up 24 days, 6:05, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004053", "end": "2025-12-19 16:55:09.926817", "msg": "", "rc": 0, "start": "2025-12-19 16:55:09.922764", "stderr": "", "stderr_lines": [], "stdout": " 16:55:09 up 24 days, 5:19, 1 user, load average: 0.56, 0.65, 0.77", "stdout_lines": [" 16:55:09 up 24 days, 5:19, 1 user, load average: 0.56, 0.65, 0.77"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002805", "end": "2025-12-19 16:55:09.932934", "msg": "", "rc": 0, "start": "2025-12-19 16:55:09.930129", "stderr": "", "stderr_lines": [], "stdout": " 16:55:09 up 7:39, 1 user, load average: 0.02, 0.11, 0.15", "stdout_lines": [" 16:55:09 up 7:39, 1 user, load average: 0.02, 0.11, 0.15"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003120", "end": "2025-12-19 16:54:41.715818", "msg": "", "rc": 0, "start": "2025-12-19 16:54:41.712698", "stderr": "", "stderr_lines": [], "stdout": " 16:54:41 up 13 days, 4:44, 0 user, load average: 0.04, 0.08, 0.08", "stdout_lines": [" 16:54:41 up 13 days, 4:44, 0 user, load average: 0.04, 0.08, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003625", "end": "2025-12-19 16:54:34.574137", "msg": "", "rc": 0, "start": "2025-12-19 16:54:34.570512", "stderr": "", "stderr_lines": [], "stdout": " 16:54:34 up 20 days, 56 min, 0 user, load average: 0.08, 0.26, 0.49", "stdout_lines": [" 16:54:34 up 20 days, 56 min, 0 user, load average: 0.08, 0.26, 0.49"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008469", "end": "2025-12-19 16:55:10.592729", "msg": "", "rc": 0, "start": "2025-12-19 16:55:10.584260", "stderr": "", "stderr_lines": [], "stdout": " 16:55:10 up 196 days, 8:28, 1 user, load average: 0.13, 0.13, 0.15", "stdout_lines": [" 16:55:10 up 196 days, 8:28, 1 user, load average: 0.13, 0.13, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009166", "end": "2025-12-19 16:55:10.635319", "msg": "", "rc": 0, "start": "2025-12-19 16:55:10.626153", "stderr": "", "stderr_lines": [], "stdout": " 16:55:10 up 196 days, 8:28, 1 user, load average: 0.40, 0.27, 0.24", "stdout_lines": [" 16:55:10 up 196 days, 8:28, 1 user, load average: 0.40, 0.27, 0.24"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004481", "end": "2025-12-19 16:55:10.852415", "msg": "", "rc": 0, "start": "2025-12-19 16:55:10.847934", "stderr": "", "stderr_lines": [], "stdout": " 16:55:10 up 7:38, 1 user, load average: 0.05, 0.04, 0.01", "stdout_lines": [" 16:55:10 up 7:38, 1 user, load average: 0.05, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002918", "end": "2025-12-19 16:54:37.745381", "msg": "", "rc": 0, "start": "2025-12-19 16:54:37.742463", "stderr": "", "stderr_lines": [], "stdout": " 16:54:37 up 22 days, 19:48, 0 user, load average: 0.40, 0.56, 0.54", "stdout_lines": [" 16:54:37 up 22 days, 19:48, 0 user, load average: 0.40, 0.56, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004150", "end": "2025-12-19 13:55:11.083662", "msg": "", "rc": 0, "start": "2025-12-19 13:55:11.079512", "stderr": "", "stderr_lines": [], "stdout": " 1:55PM up 24 days, 3:44, 1 user, load averages: 0.23, 0.22, 0.24", "stdout_lines": [" 1:55PM up 24 days, 3:44, 1 user, load averages: 0.23, 0.22, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003005", "end": "2025-12-19 16:54:45.026202", "msg": "", "rc": 0, "start": "2025-12-19 16:54:45.023197", "stderr": "", "stderr_lines": [], "stdout": " 16:54:45 up 19 days, 6:10, 0 user, load average: 0.38, 0.29, 0.28", "stdout_lines": [" 16:54:45 up 19 days, 6:10, 0 user, load average: 0.38, 0.29, 0.28"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003877", "end": "2025-12-19 16:55:11.277589", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.273712", "stderr": "", "stderr_lines": [], "stdout": " 16:55:11 up 7:38, 1 user, load average: 0.22, 0.12, 0.07", "stdout_lines": [" 16:55:11 up 7:38, 1 user, load average: 0.22, 0.12, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008570", "end": "2025-12-19 16:55:12.117123", "msg": "", "rc": 0, "start": "2025-12-19 16:55:12.108553", "stderr": "", "stderr_lines": [], "stdout": " 16:55:12 up 3:03, 1 user, load average: 1.22, 1.19, 1.18", "stdout_lines": [" 16:55:12 up 3:03, 1 user, load average: 1.22, 1.19, 1.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019679", "end": "2025-12-19 16:55:11.291834", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.272155", "stderr": "", "stderr_lines": [], "stdout": " 16:55:11 up 17 days, 6:21, 1 user, load average: 0.22, 0.13, 0.10", "stdout_lines": [" 16:55:11 up 17 days, 6:21, 1 user, load average: 0.22, 0.13, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004258", "end": "2025-12-19 16:55:11.817931", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.813673", "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.004730", "end": "2025-12-19 16:55:11.836948", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.832218", "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.004126", "end": "2025-12-19 16:55:11.851207", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.847081", "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.004717", "end": "2025-12-19 16:55:11.872812", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.868095", "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.005594", "end": "2025-12-19 16:55:11.889449", "msg": "", "rc": 0, "start": "2025-12-19 16:55:11.883855", "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.004769", "end": "2025-12-19 16:54:43.638889", "msg": "", "rc": 0, "start": "2025-12-19 16:54:43.634120", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005742", "end": "2025-12-19 16:54:36.482091", "msg": "", "rc": 0, "start": "2025-12-19 16:54:36.476349", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010624", "end": "2025-12-19 16:55:12.547797", "msg": "", "rc": 0, "start": "2025-12-19 16:55:12.537173", "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.011451", "end": "2025-12-19 16:55:12.581147", "msg": "", "rc": 0, "start": "2025-12-19 16:55:12.569696", "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.005680", "end": "2025-12-19 16:55:12.791698", "msg": "", "rc": 0, "start": "2025-12-19 16:55:12.786018", "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.010016", "end": "2025-12-19 16:54:39.731739", "msg": "", "rc": 0, "start": "2025-12-19 16:54:39.721723", "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.005490", "end": "2025-12-19 13:55:13.070479", "msg": "", "rc": 0, "start": "2025-12-19 13:55:13.064989", "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.004780", "end": "2025-12-19 16:54:47.021146", "msg": "", "rc": 0, "start": "2025-12-19 16:54:47.016366", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005324", "end": "2025-12-19 16:55:13.221969", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.216645", "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.025502", "end": "2025-12-19 16:55:13.209923", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.184421", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021373", "end": "2025-12-19 16:55:14.321040", "msg": "", "rc": 0, "start": "2025-12-19 16:55:14.299667", "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.004067", "end": "2025-12-19 16:55:13.777867", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.773800", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.4%"]}
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.004343", "end": "2025-12-19 16:55:13.777940", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.773597", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004657", "end": "2025-12-19 16:55:13.799215", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.794558", "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.005115", "end": "2025-12-19 16:55:13.829909", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.824794", "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.007159", "end": "2025-12-19 16:55:13.864186", "msg": "", "rc": 0, "start": "2025-12-19 16:55:13.857027", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003869", "end": "2025-12-19 16:54:45.600767", "msg": "", "rc": 0, "start": "2025-12-19 16:54:45.596898", "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.005638", "end": "2025-12-19 16:54:38.487708", "msg": "", "rc": 0, "start": "2025-12-19 16:54:38.482070", "stderr": "", "stderr_lines": [], "stdout": "65.9%", "stdout_lines": ["65.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.010798", "end": "2025-12-19 16:55:14.464036", "msg": "", "rc": 0, "start": "2025-12-19 16:55:14.453238", "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.011860", "end": "2025-12-19 16:55:14.490470", "msg": "", "rc": 0, "start": "2025-12-19 16:55:14.478610", "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.005887", "end": "2025-12-19 16:55:14.736955", "msg": "", "rc": 0, "start": "2025-12-19 16:55:14.731068", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.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.005043", "end": "2025-12-19 13:55:14.956218", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 13:55:14.951175", "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.003921", "end": "2025-12-19 16:54:48.918509", "msg": "", "rc": 0, "start": "2025-12-19 16:54:48.914588", "stderr": "", "stderr_lines": [], "stdout": "58.1%", "stdout_lines": ["58.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004399", "end": "2025-12-19 16:54:41.695192", "msg": "", "rc": 0, "start": "2025-12-19 16:54:41.690793", "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.005563", "end": "2025-12-19 16:55:15.160748", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.155185", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.009582", "end": "2025-12-19 16:55:16.413883", "msg": "", "rc": 0, "start": "2025-12-19 16:55:16.404301", "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.026205", "end": "2025-12-19 16:55:15.160648", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.134443", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005303", "end": "2025-12-19 16:55:15.680520", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.675217", "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.005770", "end": "2025-12-19 16:55:15.702472", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.696702", "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.004796", "end": "2025-12-19 16:55:15.717167", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.712371", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002896", "end": "2025-12-19 16:55:15.739952", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.737056", "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.006989", "end": "2025-12-19 16:55:15.773749", "msg": "", "rc": 0, "start": "2025-12-19 16:55:15.766760", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003134", "end": "2025-12-19 16:54:47.512107", "msg": "", "rc": 0, "start": "2025-12-19 16:54:47.508973", "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.003209", "end": "2025-12-19 16:54:40.391196", "msg": "", "rc": 0, "start": "2025-12-19 16:54:40.387987", "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.011772", "end": "2025-12-19 16:55:16.381825", "msg": "", "rc": 0, "start": "2025-12-19 16:55:16.370053", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013089", "end": "2025-12-19 16:55:16.419468", "msg": "", "rc": 0, "start": "2025-12-19 16:55:16.406379", "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.003249", "end": "2025-12-19 16:55:16.644379", "msg": "", "rc": 0, "start": "2025-12-19 16:55:16.641130", "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.003925", "end": "2025-12-19 13:55:16.876358", "msg": "", "rc": 0, "start": "2025-12-19 13:55:16.872433", "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.003012", "end": "2025-12-19 16:54:43.578636", "msg": "", "rc": 0, "start": "2025-12-19 16:54:43.575624", "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.002940", "end": "2025-12-19 16:54:50.827149", "msg": "", "rc": 0, "start": "2025-12-19 16:54:50.824209", "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.002910", "end": "2025-12-19 16:55:17.069128", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.066218", "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.004682", "end": "2025-12-19 16:55:18.520165", "msg": "", "rc": 0, "start": "2025-12-19 16:55:18.515483", "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.028818", "end": "2025-12-19 16:55:17.084385", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.055567", "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.004042", "end": "2025-12-19 16:55:17.617429", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.613387", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004033", "end": "2025-12-19 16:55:17.620901", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.616868", "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.004649", "end": "2025-12-19 16:55:17.630757", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.626108", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005656", "end": "2025-12-19 16:55:17.652109", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.646453", "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.005436", "end": "2025-12-19 16:55:17.666342", "msg": "", "rc": 0, "start": "2025-12-19 16:55:17.660906", "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.004436", "end": "2025-12-19 16:54:49.434835", "msg": "", "rc": 0, "start": "2025-12-19 16:54:49.430399", "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.005449", "end": "2025-12-19 16:54:42.271175", "msg": "", "rc": 0, "start": "2025-12-19 16:54:42.265726", "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.011711", "end": "2025-12-19 16:55:18.415570", "msg": "", "rc": 0, "start": "2025-12-19 16:55:18.403859", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010087", "end": "2025-12-19 16:55:18.442154", "msg": "", "rc": 0, "start": "2025-12-19 16:55:18.432067", "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.005880", "end": "2025-12-19 16:55:18.576460", "msg": "", "rc": 0, "start": "2025-12-19 16:55:18.570580", "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.004997", "end": "2025-12-19 16:54:45.476742", "msg": "", "rc": 0, "start": "2025-12-19 16:54:45.471745", "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.005850", "end": "2025-12-19 13:55:18.913134", "msg": "", "rc": 0, "start": "2025-12-19 13:55:18.907284", "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.004517", "end": "2025-12-19 16:54:52.873194", "msg": "", "rc": 0, "start": "2025-12-19 16:54:52.868677", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
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.005406", "end": "2025-12-19 16:55:19.005644", "msg": "", "rc": 0, "start": "2025-12-19 16:55:19.000238", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.007481", "end": "2025-12-19 16:55:20.626795", "msg": "", "rc": 0, "start": "2025-12-19 16:55:20.619314", "stderr": "", "stderr_lines": [], "stdout": "1.34", "stdout_lines": ["1.34"]}
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.024130", "end": "2025-12-19 16:55:19.020127", "msg": "", "rc": 0, "start": "2025-12-19 16:55:18.995997", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:09 up 24 days, 3:46, 1 user, load average: 0.17, 0.16, 0.18\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.24\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:09 up 7:39, 1 user, load average: 0.02, 0.11, 0.15\nDisk Usage: 22%\nMemory Usage: 14.4%\nCPU Load: 0.10\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:09 up 24 days, 4:06, 1 user, load average: 0.84, 0.76, 0.77\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.94\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:09 up 24 days, 5:19, 1 user, load average: 0.56, 0.65, 0.77\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.63\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:09 up 24 days, 6:05, 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: 16:55:11 up 17 days, 6:21, 1 user, load average: 0.22, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.21\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:10 up 196 days, 8:28, 1 user, load average: 0.40, 0.27, 0.24\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.36\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:10 up 196 days, 8:28, 1 user, load average: 0.13, 0.13, 0.15\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.19\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:54:41 up 13 days, 4:44, 0 user, load average: 0.04, 0.08, 0.08\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:54:34 up 20 days, 56 min, 0 user, load average: 0.08, 0.26, 0.49\nDisk Usage: 25%\nMemory Usage: 65.9%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:10 up 7:38, 1 user, load average: 0.05, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:54:37 up 22 days, 19:48, 0 user, load average: 0.40, 0.56, 0.54\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:54:45 up 19 days, 6:10, 0 user, load average: 0.38, 0.29, 0.28\nDisk Usage: 76%\nMemory Usage: 58.1%\nCPU Load: 0.32\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 1:55PM up 24 days, 3:44, 1 user, load averages: 0.23, 0.22, 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: 16:55:11 up 7:38, 1 user, load average: 0.22, 0.12, 0.07\nDisk Usage: 79%\nMemory Usage: 13.3%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:55:12 up 3:03, 1 user, load average: 1.22, 1.19, 1.18\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.34\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-19T21:55:21.603921+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1d7a070c547d44a2962e58f11f91cc89` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:00:00.008515+00:00 |
| **Fin** | 2025-12-19T22:00:25.228945+00:00 |
| **Durée** | 25.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: [mimi.pc.home]
ok: [hp.nas.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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003722", "end": "2025-12-19 17:00:12.319545", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.315823", "stderr": "", "stderr_lines": [], "stdout": " 17:00:12 up 24 days, 6:10, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 17:00:12 up 24 days, 6:10, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003895", "end": "2025-12-19 17:00:12.337478", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.333583", "stderr": "", "stderr_lines": [], "stdout": " 17:00:12 up 24 days, 5:24, 1 user, load average: 0.75, 0.71, 0.76", "stdout_lines": [" 17:00:12 up 24 days, 5:24, 1 user, load average: 0.75, 0.71, 0.76"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002855", "end": "2025-12-19 17:00:12.346676", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.343821", "stderr": "", "stderr_lines": [], "stdout": " 17:00:12 up 7:44, 1 user, load average: 0.16, 0.15, 0.16", "stdout_lines": [" 17:00:12 up 7:44, 1 user, load average: 0.16, 0.15, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008453", "end": "2025-12-19 17:00:12.997866", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.989413", "stderr": "", "stderr_lines": [], "stdout": " 17:00:12 up 196 days, 8:33, 1 user, load average: 0.13, 0.14, 0.14", "stdout_lines": [" 17:00:12 up 196 days, 8:33, 1 user, load average: 0.13, 0.14, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009291", "end": "2025-12-19 17:00:13.037935", "msg": "", "rc": 0, "start": "2025-12-19 17:00:13.028644", "stderr": "", "stderr_lines": [], "stdout": " 17:00:13 up 196 days, 8:33, 1 user, load average: 0.20, 0.20, 0.20", "stdout_lines": [" 17:00:13 up 196 days, 8:33, 1 user, load average: 0.20, 0.20, 0.20"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004415", "end": "2025-12-19 17:00:13.306732", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.302317", "stderr": "", "stderr_lines": [], "stdout": " 17:00:12 up 24 days, 3:51, 1 user, load average: 0.03, 0.10, 0.15", "stdout_lines": [" 17:00:12 up 24 days, 3:51, 1 user, load average: 0.03, 0.10, 0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004625", "end": "2025-12-19 17:00:13.314315", "msg": "", "rc": 0, "start": "2025-12-19 17:00:12.309690", "stderr": "", "stderr_lines": [], "stdout": " 17:00:12 up 24 days, 4:11, 1 user, load average: 0.84, 0.65, 0.72", "stdout_lines": [" 17:00:12 up 24 days, 4:11, 1 user, load average: 0.84, 0.65, 0.72"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002799", "end": "2025-12-19 16:59:44.811047", "msg": "", "rc": 0, "start": "2025-12-19 16:59:44.808248", "stderr": "", "stderr_lines": [], "stdout": " 16:59:44 up 13 days, 4:49, 0 user, load average: 0.59, 0.22, 0.13", "stdout_lines": [" 16:59:44 up 13 days, 4:49, 0 user, load average: 0.59, 0.22, 0.13"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003479", "end": "2025-12-19 16:59:37.691839", "msg": "", "rc": 0, "start": "2025-12-19 16:59:37.688360", "stderr": "", "stderr_lines": [], "stdout": " 16:59:37 up 20 days, 1:01, 0 user, load average: 0.02, 0.10, 0.35", "stdout_lines": [" 16:59:37 up 20 days, 1:01, 0 user, load average: 0.02, 0.10, 0.35"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004437", "end": "2025-12-19 17:00:13.749271", "msg": "", "rc": 0, "start": "2025-12-19 17:00:13.744834", "stderr": "", "stderr_lines": [], "stdout": " 17:00:13 up 7:43, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 17:00:13 up 7:43, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019624", "end": "2025-12-19 17:00:13.699046", "msg": "", "rc": 0, "start": "2025-12-19 17:00:13.679422", "stderr": "", "stderr_lines": [], "stdout": " 17:00:13 up 17 days, 6:26, 1 user, load average: 0.20, 0.12, 0.10", "stdout_lines": [" 17:00:13 up 17 days, 6:26, 1 user, load average: 0.20, 0.12, 0.10"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005525", "end": "2025-12-19 16:59:40.545794", "msg": "", "rc": 0, "start": "2025-12-19 16:59:40.540269", "stderr": "", "stderr_lines": [], "stdout": " 16:59:40 up 22 days, 19:53, 0 user, load average: 0.90, 0.69, 0.59", "stdout_lines": [" 16:59:40 up 22 days, 19:53, 0 user, load average: 0.90, 0.69, 0.59"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002642", "end": "2025-12-19 16:59:47.883634", "msg": "", "rc": 0, "start": "2025-12-19 16:59:47.880992", "stderr": "", "stderr_lines": [], "stdout": " 16:59:47 up 19 days, 6:15, 0 user, load average: 0.26, 0.16, 0.21", "stdout_lines": [" 16:59:47 up 19 days, 6:15, 0 user, load average: 0.26, 0.16, 0.21"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004094", "end": "2025-12-19 14:00:14.085291", "msg": "", "rc": 0, "start": "2025-12-19 14:00:14.081197", "stderr": "", "stderr_lines": [], "stdout": " 2:00PM up 24 days, 3:50, 1 user, load averages: 0.24, 0.22, 0.22", "stdout_lines": [" 2:00PM up 24 days, 3:50, 1 user, load averages: 0.24, 0.22, 0.22"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008505", "end": "2025-12-19 17:00:15.878332", "msg": "", "rc": 0, "start": "2025-12-19 17:00:15.869827", "stderr": "", "stderr_lines": [], "stdout": " 17:00:15 up 3:08, 1 user, load average: 1.78, 1.28, 1.21", "stdout_lines": [" 17:00:15 up 3:08, 1 user, load average: 1.78, 1.28, 1.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003726", "end": "2025-12-19 17:00:14.203345", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.199619", "stderr": "", "stderr_lines": [], "stdout": " 17:00:14 up 7:43, 1 user, load average: 0.05, 0.07, 0.05", "stdout_lines": [" 17:00:14 up 7:43, 1 user, load average: 0.05, 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.004190", "end": "2025-12-19 17:00:14.611756", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.607566", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004122", "end": "2025-12-19 17:00:14.622818", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.618696", "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.005142", "end": "2025-12-19 17:00:14.636199", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.631057", "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.004927", "end": "2025-12-19 17:00:14.654223", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.649296", "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.005641", "end": "2025-12-19 17:00:14.676106", "msg": "", "rc": 0, "start": "2025-12-19 17:00:14.670465", "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.005423", "end": "2025-12-19 16:59:46.448642", "msg": "", "rc": 0, "start": "2025-12-19 16:59:46.443219", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009126", "end": "2025-12-19 16:59:39.296413", "msg": "", "rc": 0, "start": "2025-12-19 16:59:39.287287", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010760", "end": "2025-12-19 17:00:15.374887", "msg": "", "rc": 0, "start": "2025-12-19 17:00:15.364127", "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-19 17:00:15.404995", "msg": "", "rc": 0, "start": "2025-12-19 17:00:15.393367", "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.005983", "end": "2025-12-19 17:00:15.600460", "msg": "", "rc": 0, "start": "2025-12-19 17:00:15.594477", "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.005421", "end": "2025-12-19 16:59:42.505021", "msg": "", "rc": 0, "start": "2025-12-19 16:59:42.499600", "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.004598", "end": "2025-12-19 16:59:49.809816", "msg": "", "rc": 0, "start": "2025-12-19 16:59:49.805218", "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.005490", "end": "2025-12-19 14:00:15.874150", "msg": "", "rc": 0, "start": "2025-12-19 14:00:15.868660", "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.005399", "end": "2025-12-19 17:00:16.033696", "msg": "", "rc": 0, "start": "2025-12-19 17:00:16.028297", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020457", "end": "2025-12-19 17:00:18.037533", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.017076", "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.025039", "end": "2025-12-19 17:00:16.007675", "msg": "", "rc": 0, "start": "2025-12-19 17:00:15.982636", "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.004706", "end": "2025-12-19 17:00:16.511502", "msg": "", "rc": 0, "start": "2025-12-19 17:00:16.506796", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004928", "end": "2025-12-19 17:00:16.537474", "msg": "", "rc": 0, "start": "2025-12-19 17:00:16.532546", "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.004121", "end": "2025-12-19 17:00:16.545390", "msg": "", "rc": 0, "start": "2025-12-19 17:00:16.541269", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004843", "end": "2025-12-19 17:00:16.574991", "msg": "", "rc": 0, "start": "2025-12-19 17:00:16.570148", "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.005844", "end": "2025-12-19 17:00:16.610666", "msg": "", "rc": 0, "start": "2025-12-19 17:00:16.604822", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004221", "end": "2025-12-19 16:59:48.344030", "msg": "", "rc": 0, "start": "2025-12-19 16:59:48.339809", "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.004331", "end": "2025-12-19 16:59:41.228524", "msg": "", "rc": 0, "start": "2025-12-19 16:59:41.224193", "stderr": "", "stderr_lines": [], "stdout": "65.9%", "stdout_lines": ["65.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.010767", "end": "2025-12-19 17:00:17.206495", "msg": "", "rc": 0, "start": "2025-12-19 17:00:17.195728", "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.011946", "end": "2025-12-19 17:00:17.241508", "msg": "", "rc": 0, "start": "2025-12-19 17:00:17.229562", "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.005994", "end": "2025-12-19 17:00:17.492684", "msg": "", "rc": 0, "start": "2025-12-19 17:00:17.486690", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004179", "end": "2025-12-19 16:59:51.628447", "msg": "", "rc": 0, "start": "2025-12-19 16:59:51.624268", "stderr": "", "stderr_lines": [], "stdout": "59.2%", "stdout_lines": ["59.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.005342", "end": "2025-12-19 14:00:17.700249", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:00:17.694907", "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.004395", "end": "2025-12-19 16:59:44.426336", "msg": "", "rc": 0, "start": "2025-12-19 16:59:44.421941", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.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.005318", "end": "2025-12-19 17:00:17.940459", "msg": "", "rc": 0, "start": "2025-12-19 17:00:17.935141", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.009560", "end": "2025-12-19 17:00:20.094166", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.084606", "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.025818", "end": "2025-12-19 17:00:17.912566", "msg": "", "rc": 0, "start": "2025-12-19 17:00:17.886748", "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.005297", "end": "2025-12-19 17:00:18.423816", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.418519", "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.004886", "end": "2025-12-19 17:00:18.445087", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.440201", "stderr": "", "stderr_lines": [], "stdout": "49.0°C", "stdout_lines": ["49.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.005587", "end": "2025-12-19 17:00:18.456990", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.451403", "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.003352", "end": "2025-12-19 17:00:18.484776", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.481424", "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.006174", "end": "2025-12-19 17:00:18.495528", "msg": "", "rc": 0, "start": "2025-12-19 17:00:18.489354", "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.002940", "end": "2025-12-19 16:59:50.237427", "msg": "", "rc": 0, "start": "2025-12-19 16:59:50.234487", "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.002846", "end": "2025-12-19 16:59:43.088384", "msg": "", "rc": 0, "start": "2025-12-19 16:59:43.085538", "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.011691", "end": "2025-12-19 17:00:19.142051", "msg": "", "rc": 0, "start": "2025-12-19 17:00:19.130360", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012731", "end": "2025-12-19 17:00:19.146814", "msg": "", "rc": 0, "start": "2025-12-19 17:00:19.134083", "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.003178", "end": "2025-12-19 17:00:19.367849", "msg": "", "rc": 0, "start": "2025-12-19 17:00:19.364671", "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.002890", "end": "2025-12-19 16:59:46.268286", "msg": "", "rc": 0, "start": "2025-12-19 16:59:46.265396", "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.004097", "end": "2025-12-19 14:00:19.609969", "msg": "", "rc": 0, "start": "2025-12-19 14:00:19.605872", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002742", "end": "2025-12-19 16:59:53.564193", "msg": "", "rc": 0, "start": "2025-12-19 16:59:53.561451", "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.002958", "end": "2025-12-19 17:00:19.784673", "msg": "", "rc": 0, "start": "2025-12-19 17:00:19.781715", "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.004806", "end": "2025-12-19 17:00:22.178503", "msg": "", "rc": 0, "start": "2025-12-19 17:00:22.173697", "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.028432", "end": "2025-12-19 17:00:19.807489", "msg": "", "rc": 0, "start": "2025-12-19 17:00:19.779057", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004186", "end": "2025-12-19 17:00:20.329957", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.325771", "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.003962", "end": "2025-12-19 17:00:20.343735", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.339773", "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.004987", "end": "2025-12-19 17:00:20.352126", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.347139", "stderr": "", "stderr_lines": [], "stdout": "0.86", "stdout_lines": ["0.86"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005206", "end": "2025-12-19 17:00:20.366774", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.361568", "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.005422", "end": "2025-12-19 17:00:20.389699", "msg": "", "rc": 0, "start": "2025-12-19 17:00:20.384277", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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.004849", "end": "2025-12-19 16:59:52.131656", "msg": "", "rc": 0, "start": "2025-12-19 16:59:52.126807", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.005106", "end": "2025-12-19 16:59:44.967188", "msg": "", "rc": 0, "start": "2025-12-19 16:59:44.962082", "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.009969", "end": "2025-12-19 17:00:21.101313", "msg": "", "rc": 0, "start": "2025-12-19 17:00:21.091344", "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.011157", "end": "2025-12-19 17:00:21.122832", "msg": "", "rc": 0, "start": "2025-12-19 17:00:21.111675", "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.005636", "end": "2025-12-19 17:00:21.279704", "msg": "", "rc": 0, "start": "2025-12-19 17:00:21.274068", "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.005213", "end": "2025-12-19 16:59:48.138050", "msg": "", "rc": 0, "start": "2025-12-19 16:59:48.132837", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
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.006089", "end": "2025-12-19 14:00:21.588705", "msg": "", "rc": 0, "start": "2025-12-19 14:00:21.582616", "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.005035", "end": "2025-12-19 16:59:55.543617", "msg": "", "rc": 0, "start": "2025-12-19 16:59:55.538582", "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.005813", "end": "2025-12-19 17:00:21.699784", "msg": "", "rc": 0, "start": "2025-12-19 17:00:21.693971", "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.008943", "end": "2025-12-19 17:00:24.238136", "msg": "", "rc": 0, "start": "2025-12-19 17:00:24.229193", "stderr": "", "stderr_lines": [], "stdout": "1.81", "stdout_lines": ["1.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.024802", "end": "2025-12-19 17:00:21.709515", "msg": "", "rc": 0, "start": "2025-12-19 17:00:21.684713", "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: 17:00:12 up 24 days, 3:51, 1 user, load average: 0.03, 0.10, 0.15\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.10\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:12 up 7:44, 1 user, load average: 0.16, 0.15, 0.16\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.14\nCPU Temp: 49.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:12 up 24 days, 4:11, 1 user, load average: 0.84, 0.65, 0.72\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.86\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:12 up 24 days, 5:24, 1 user, load average: 0.75, 0.71, 0.76\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.85\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:12 up 24 days, 6:10, 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: 17:00:13 up 17 days, 6:26, 1 user, load average: 0.20, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.32\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:13 up 196 days, 8:33, 1 user, load average: 0.20, 0.20, 0.20\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.24\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:12 up 196 days, 8:33, 1 user, load average: 0.13, 0.14, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.12\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:59:44 up 13 days, 4:49, 0 user, load average: 0.59, 0.22, 0.13\nDisk Usage: 50%\nMemory Usage: 70.8%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:59:37 up 20 days, 1:01, 0 user, load average: 0.02, 0.10, 0.35\nDisk Usage: 25%\nMemory Usage: 65.9%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:13 up 7:43, 1 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:59:40 up 22 days, 19:53, 0 user, load average: 0.90, 0.69, 0.59\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.91\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 16:59:47 up 19 days, 6:15, 0 user, load average: 0.26, 0.16, 0.21\nDisk Usage: 76%\nMemory Usage: 59.2%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:00PM up 24 days, 3:50, 1 user, load averages: 0.24, 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: 17:00:14 up 7:43, 1 user, load average: 0.05, 0.07, 0.05\nDisk Usage: 79%\nMemory Usage: 13.4%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:00:15 up 3:08, 1 user, load average: 1.78, 1.28, 1.21\nDisk Usage: 1%\nMemory Usage: 12.8%\nCPU Load: 1.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-19T22:00:25.284335+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `aecb7528b4fe447cae628d34a8218618` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:05:00.008804+00:00 |
| **Fin** | 2025-12-19T22:05:24.315371+00:00 |
| **Durée** | 24.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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.003288", "end": "2025-12-19 17:05:11.389404", "msg": "", "rc": 0, "start": "2025-12-19 17:05:11.386116", "stderr": "", "stderr_lines": [], "stdout": " 17:05:11 up 24 days, 3:56, 1 user, load average: 0.13, 0.11, 0.14", "stdout_lines": [" 17:05:11 up 24 days, 3:56, 1 user, load average: 0.13, 0.11, 0.14"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004018", "end": "2025-12-19 17:05:11.401346", "msg": "", "rc": 0, "start": "2025-12-19 17:05:11.397328", "stderr": "", "stderr_lines": [], "stdout": " 17:05:11 up 24 days, 6:15, 1 user, load average: 0.21, 0.06, 0.01", "stdout_lines": [" 17:05:11 up 24 days, 6:15, 1 user, load average: 0.21, 0.06, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003971", "end": "2025-12-19 17:05:11.418195", "msg": "", "rc": 0, "start": "2025-12-19 17:05:11.414224", "stderr": "", "stderr_lines": [], "stdout": " 17:05:11 up 24 days, 5:29, 1 user, load average: 0.57, 0.63, 0.71", "stdout_lines": [" 17:05:11 up 24 days, 5:29, 1 user, load average: 0.57, 0.63, 0.71"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003787", "end": "2025-12-19 17:05:11.420023", "msg": "", "rc": 0, "start": "2025-12-19 17:05:11.416236", "stderr": "", "stderr_lines": [], "stdout": " 17:05:11 up 24 days, 4:16, 1 user, load average: 1.03, 0.86, 0.79", "stdout_lines": [" 17:05:11 up 24 days, 4:16, 1 user, load average: 1.03, 0.86, 0.79"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002862", "end": "2025-12-19 17:05:11.428823", "msg": "", "rc": 0, "start": "2025-12-19 17:05:11.425961", "stderr": "", "stderr_lines": [], "stdout": " 17:05:11 up 7:49, 1 user, load average: 0.10, 0.10, 0.13", "stdout_lines": [" 17:05:11 up 7:49, 1 user, load average: 0.10, 0.10, 0.13"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002936", "end": "2025-12-19 17:04:43.201734", "msg": "", "rc": 0, "start": "2025-12-19 17:04:43.198798", "stderr": "", "stderr_lines": [], "stdout": " 17:04:43 up 13 days, 4:54, 0 user, load average: 0.11, 0.15, 0.11", "stdout_lines": [" 17:04:43 up 13 days, 4:54, 0 user, load average: 0.11, 0.15, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003416", "end": "2025-12-19 17:04:36.033463", "msg": "", "rc": 0, "start": "2025-12-19 17:04:36.030047", "stderr": "", "stderr_lines": [], "stdout": " 17:04:36 up 20 days, 1:06, 0 user, load average: 0.02, 0.09, 0.27", "stdout_lines": [" 17:04:36 up 20 days, 1:06, 0 user, load average: 0.02, 0.09, 0.27"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008506", "end": "2025-12-19 17:05:12.075345", "msg": "", "rc": 0, "start": "2025-12-19 17:05:12.066839", "stderr": "", "stderr_lines": [], "stdout": " 17:05:12 up 196 days, 8:38, 1 user, load average: 0.19, 0.18, 0.16", "stdout_lines": [" 17:05:12 up 196 days, 8:38, 1 user, load average: 0.19, 0.18, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009134", "end": "2025-12-19 17:05:12.113448", "msg": "", "rc": 0, "start": "2025-12-19 17:05:12.104314", "stderr": "", "stderr_lines": [], "stdout": " 17:05:12 up 196 days, 8:38, 1 user, load average: 0.32, 0.22, 0.19", "stdout_lines": [" 17:05:12 up 196 days, 8:38, 1 user, load average: 0.32, 0.22, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005026", "end": "2025-12-19 17:05:12.354331", "msg": "", "rc": 0, "start": "2025-12-19 17:05:12.349305", "stderr": "", "stderr_lines": [], "stdout": " 17:05:12 up 7:48, 1 user, load average: 0.03, 0.05, 0.01", "stdout_lines": [" 17:05:12 up 7:48, 1 user, load average: 0.03, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003264", "end": "2025-12-19 17:04:39.189549", "msg": "", "rc": 0, "start": "2025-12-19 17:04:39.186285", "stderr": "", "stderr_lines": [], "stdout": " 17:04:39 up 22 days, 19:58, 0 user, load average: 0.44, 0.51, 0.54", "stdout_lines": [" 17:04:39 up 22 days, 19:58, 0 user, load average: 0.44, 0.51, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004110", "end": "2025-12-19 14:05:12.555964", "msg": "", "rc": 0, "start": "2025-12-19 14:05:12.551854", "stderr": "", "stderr_lines": [], "stdout": " 2:05PM up 24 days, 3:54, 1 user, load averages: 0.17, 0.22, 0.22", "stdout_lines": [" 2:05PM up 24 days, 3:54, 1 user, load averages: 0.17, 0.22, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003040", "end": "2025-12-19 17:04:46.493575", "msg": "", "rc": 0, "start": "2025-12-19 17:04:46.490535", "stderr": "", "stderr_lines": [], "stdout": " 17:04:46 up 19 days, 6:20, 0 user, load average: 0.19, 0.22, 0.22", "stdout_lines": [" 17:04:46 up 19 days, 6:20, 0 user, load average: 0.19, 0.22, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003637", "end": "2025-12-19 17:05:12.783961", "msg": "", "rc": 0, "start": "2025-12-19 17:05:12.780324", "stderr": "", "stderr_lines": [], "stdout": " 17:05:12 up 7:48, 1 user, load average: 0.57, 0.21, 0.10", "stdout_lines": [" 17:05:12 up 7:48, 1 user, load average: 0.57, 0.21, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008549", "end": "2025-12-19 17:05:14.957404", "msg": "", "rc": 0, "start": "2025-12-19 17:05:14.948855", "stderr": "", "stderr_lines": [], "stdout": " 17:05:14 up 3:14, 1 user, load average: 1.08, 1.12, 1.15", "stdout_lines": [" 17:05:14 up 3:14, 1 user, load average: 1.08, 1.12, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019709", "end": "2025-12-19 17:05:12.765914", "msg": "", "rc": 0, "start": "2025-12-19 17:05:12.746205", "stderr": "", "stderr_lines": [], "stdout": " 17:05:12 up 17 days, 6:31, 1 user, load average: 0.16, 0.15, 0.10", "stdout_lines": [" 17:05:12 up 17 days, 6:31, 1 user, load average: 0.16, 0.15, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004120", "end": "2025-12-19 17:05:13.292616", "msg": "", "rc": 0, "start": "2025-12-19 17:05:13.288496", "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.004105", "end": "2025-12-19 17:05:13.307985", "msg": "", "rc": 0, "start": "2025-12-19 17:05:13.303880", "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-19 17:05:13.317949", "msg": "", "rc": 0, "start": "2025-12-19 17:05:13.312991", "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.004700", "end": "2025-12-19 17:05:13.341328", "msg": "", "rc": 0, "start": "2025-12-19 17:05:13.336628", "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.005724", "end": "2025-12-19 17:05:13.382899", "msg": "", "rc": 0, "start": "2025-12-19 17:05:13.377175", "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.005472", "end": "2025-12-19 17:04:45.145219", "msg": "", "rc": 0, "start": "2025-12-19 17:04:45.139747", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005499", "end": "2025-12-19 17:04:37.965018", "msg": "", "rc": 0, "start": "2025-12-19 17:04:37.959519", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010711", "end": "2025-12-19 17:05:14.030739", "msg": "", "rc": 0, "start": "2025-12-19 17:05:14.020028", "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.012013", "end": "2025-12-19 17:05:14.060900", "msg": "", "rc": 0, "start": "2025-12-19 17:05:14.048887", "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.005940", "end": "2025-12-19 17:05:14.287693", "msg": "", "rc": 0, "start": "2025-12-19 17:05:14.281753", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005263", "end": "2025-12-19 17:04:41.157381", "msg": "", "rc": 0, "start": "2025-12-19 17:04:41.152118", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005317", "end": "2025-12-19 14:05:14.520765", "msg": "", "rc": 0, "start": "2025-12-19 14:05:14.515448", "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.005831", "end": "2025-12-19 17:04:48.468934", "msg": "", "rc": 0, "start": "2025-12-19 17:04:48.463103", "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.005455", "end": "2025-12-19 17:05:14.695971", "msg": "", "rc": 0, "start": "2025-12-19 17:05:14.690516", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.016169", "end": "2025-12-19 17:05:17.080043", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.063874", "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.025406", "end": "2025-12-19 17:05:14.678607", "msg": "", "rc": 0, "start": "2025-12-19 17:05:14.653201", "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.004188", "end": "2025-12-19 17:05:15.200864", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.196676", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004185", "end": "2025-12-19 17:05:15.210366", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.206181", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004986", "end": "2025-12-19 17:05:15.228218", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.223232", "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.004883", "end": "2025-12-19 17:05:15.249972", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.245089", "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.005862", "end": "2025-12-19 17:05:15.261334", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.255472", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004317", "end": "2025-12-19 17:04:47.009484", "msg": "", "rc": 0, "start": "2025-12-19 17:04:47.005167", "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.006416", "end": "2025-12-19 17:04:39.870958", "msg": "", "rc": 0, "start": "2025-12-19 17:04:39.864542", "stderr": "", "stderr_lines": [], "stdout": "65.8%", "stdout_lines": ["65.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.010978", "end": "2025-12-19 17:05:15.876823", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.865845", "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.011953", "end": "2025-12-19 17:05:15.917810", "msg": "", "rc": 0, "start": "2025-12-19 17:05:15.905857", "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.006357", "end": "2025-12-19 17:05:16.161471", "msg": "", "rc": 0, "start": "2025-12-19 17:05:16.155114", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003635", "end": "2025-12-19 17:04:50.287313", "msg": "", "rc": 0, "start": "2025-12-19 17:04:50.283678", "stderr": "", "stderr_lines": [], "stdout": "53.8%", "stdout_lines": ["53.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.005183", "end": "2025-12-19 14:05:16.369701", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:05:16.364518", "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.004261", "end": "2025-12-19 17:04:43.061819", "msg": "", "rc": 0, "start": "2025-12-19 17:04:43.057558", "stderr": "", "stderr_lines": [], "stdout": "26.4%", "stdout_lines": ["26.4%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005408", "end": "2025-12-19 17:05:16.589992", "msg": "", "rc": 0, "start": "2025-12-19 17:05:16.584584", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.009937", "end": "2025-12-19 17:05:19.137147", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.127210", "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.025742", "end": "2025-12-19 17:05:16.592805", "msg": "", "rc": 0, "start": "2025-12-19 17:05:16.567063", "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.005196", "end": "2025-12-19 17:05:17.105585", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.100389", "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.004790", "end": "2025-12-19 17:05:17.132919", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.128129", "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.005624", "end": "2025-12-19 17:05:17.129304", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.123680", "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.003217", "end": "2025-12-19 17:05:17.159007", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.155790", "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.006829", "end": "2025-12-19 17:05:17.182576", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.175747", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002411", "end": "2025-12-19 17:04:48.925478", "msg": "", "rc": 0, "start": "2025-12-19 17:04:48.923067", "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.004992", "end": "2025-12-19 17:04:41.787443", "msg": "", "rc": 0, "start": "2025-12-19 17:04:41.782451", "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.011794", "end": "2025-12-19 17:05:17.800510", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.788716", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012909", "end": "2025-12-19 17:05:17.848368", "msg": "", "rc": 0, "start": "2025-12-19 17:05:17.835459", "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.003256", "end": "2025-12-19 17:05:18.059527", "msg": "", "rc": 0, "start": "2025-12-19 17:05:18.056271", "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.002903", "end": "2025-12-19 17:04:44.981688", "msg": "", "rc": 0, "start": "2025-12-19 17:04:44.978785", "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.002789", "end": "2025-12-19 17:04:52.236255", "msg": "", "rc": 0, "start": "2025-12-19 17:04:52.233466", "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.003833", "end": "2025-12-19 14:05:18.309358", "msg": "", "rc": 0, "start": "2025-12-19 14:05:18.305525", "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.003075", "end": "2025-12-19 17:05:18.475006", "msg": "", "rc": 0, "start": "2025-12-19 17:05:18.471931", "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.028710", "end": "2025-12-19 17:05:18.482929", "msg": "", "rc": 0, "start": "2025-12-19 17:05:18.454219", "stderr": "", "stderr_lines": [], "stdout": "36.1°C", "stdout_lines": ["36.1°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.004467", "end": "2025-12-19 17:05:21.285602", "msg": "", "rc": 0, "start": "2025-12-19 17:05:21.281135", "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.004041", "end": "2025-12-19 17:05:19.015172", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.011131", "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.004219", "end": "2025-12-19 17:05:19.029105", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.024886", "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.004980", "end": "2025-12-19 17:05:19.049634", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.044654", "stderr": "", "stderr_lines": [], "stdout": "1.11", "stdout_lines": ["1.11"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004862", "end": "2025-12-19 17:05:19.068667", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.063805", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.006537", "end": "2025-12-19 17:05:19.099843", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.093306", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.004374", "end": "2025-12-19 17:04:50.831484", "msg": "", "rc": 0, "start": "2025-12-19 17:04:50.827110", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005790", "end": "2025-12-19 17:04:43.710068", "msg": "", "rc": 0, "start": "2025-12-19 17:04:43.704278", "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.011487", "end": "2025-12-19 17:05:19.799203", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.787716", "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.013053", "end": "2025-12-19 17:05:19.804633", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.791580", "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.005519", "end": "2025-12-19 17:05:19.986752", "msg": "", "rc": 0, "start": "2025-12-19 17:05:19.981233", "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.005248", "end": "2025-12-19 17:04:46.940644", "msg": "", "rc": 0, "start": "2025-12-19 17:04:46.935396", "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.006792", "end": "2025-12-19 14:05:20.273020", "msg": "", "rc": 0, "start": "2025-12-19 14:05:20.266228", "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.004761", "end": "2025-12-19 17:04:54.238869", "msg": "", "rc": 0, "start": "2025-12-19 17:04:54.234108", "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.005113", "end": "2025-12-19 17:05:20.396060", "msg": "", "rc": 0, "start": "2025-12-19 17:05:20.390947", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
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.024535", "end": "2025-12-19 17:05:20.396453", "msg": "", "rc": 0, "start": "2025-12-19 17:05:20.371918", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.008794", "end": "2025-12-19 17:05:23.410590", "msg": "", "rc": 0, "start": "2025-12-19 17:05:23.401796", "stderr": "", "stderr_lines": [], "stdout": "1.16", "stdout_lines": ["1.16"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:11 up 24 days, 3:56, 1 user, load average: 0.13, 0.11, 0.14\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:11 up 7:49, 1 user, load average: 0.10, 0.10, 0.13\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.16\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:11 up 24 days, 4:16, 1 user, load average: 1.03, 0.86, 0.79\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.11\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:11 up 24 days, 5:29, 1 user, load average: 0.57, 0.63, 0.71\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.77\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:11 up 24 days, 6:15, 1 user, load average: 0.21, 0.06, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:12 up 17 days, 6:31, 1 user, load average: 0.16, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.8%\nCPU Load: 0.23\nCPU Temp: 36.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:12 up 196 days, 8:38, 1 user, load average: 0.32, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.37\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:12 up 196 days, 8:38, 1 user, load average: 0.19, 0.18, 0.16\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.17\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:04:43 up 13 days, 4:54, 0 user, load average: 0.11, 0.15, 0.11\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:04:36 up 20 days, 1:06, 0 user, load average: 0.02, 0.09, 0.27\nDisk Usage: 25%\nMemory Usage: 65.8%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:12 up 7:48, 1 user, load average: 0.03, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:04:39 up 22 days, 19:58, 0 user, load average: 0.44, 0.51, 0.54\nDisk Usage: 28%\nMemory Usage: 26.4%\nCPU Load: 0.52\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:04:46 up 19 days, 6:20, 0 user, load average: 0.19, 0.22, 0.22\nDisk Usage: 76%\nMemory Usage: 53.8%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:05PM up 24 days, 3:54, 1 user, load averages: 0.17, 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: 17:05:12 up 7:48, 1 user, load average: 0.57, 0.21, 0.10\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:05:14 up 3:14, 1 user, load average: 1.08, 1.12, 1.15\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.16\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-19T22:05:21.445906+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `c8e6c34ac5a14a6d9760ec0f23ae7ba6` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:10:00.006224+00:00 |
| **Fin** | 2025-12-19T22:10:21.499356+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [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.003465", "end": "2025-12-19 17:10:10.817030", "msg": "", "rc": 0, "start": "2025-12-19 17:10:10.813565", "stderr": "", "stderr_lines": [], "stdout": " 17:10:10 up 24 days, 4:01, 1 user, load average: 0.37, 0.13, 0.11", "stdout_lines": [" 17:10:10 up 24 days, 4:01, 1 user, load average: 0.37, 0.13, 0.11"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003919", "end": "2025-12-19 17:10:10.830222", "msg": "", "rc": 0, "start": "2025-12-19 17:10:10.826303", "stderr": "", "stderr_lines": [], "stdout": " 17:10:10 up 24 days, 6:20, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 17:10:10 up 24 days, 6:20, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003387", "end": "2025-12-19 17:10:10.840560", "msg": "", "rc": 0, "start": "2025-12-19 17:10:10.837173", "stderr": "", "stderr_lines": [], "stdout": " 17:10:10 up 24 days, 4:21, 1 user, load average: 0.63, 0.67, 0.72", "stdout_lines": [" 17:10:10 up 24 days, 4:21, 1 user, load average: 0.63, 0.67, 0.72"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003847", "end": "2025-12-19 17:10:10.848523", "msg": "", "rc": 0, "start": "2025-12-19 17:10:10.844676", "stderr": "", "stderr_lines": [], "stdout": " 17:10:10 up 24 days, 5:34, 1 user, load average: 0.45, 0.52, 0.64", "stdout_lines": [" 17:10:10 up 24 days, 5:34, 1 user, load average: 0.45, 0.52, 0.64"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002899", "end": "2025-12-19 17:10:10.857699", "msg": "", "rc": 0, "start": "2025-12-19 17:10:10.854800", "stderr": "", "stderr_lines": [], "stdout": " 17:10:10 up 7:54, 1 user, load average: 0.25, 0.19, 0.16", "stdout_lines": [" 17:10:10 up 7:54, 1 user, load average: 0.25, 0.19, 0.16"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002939", "end": "2025-12-19 17:09:42.597511", "msg": "", "rc": 0, "start": "2025-12-19 17:09:42.594572", "stderr": "", "stderr_lines": [], "stdout": " 17:09:42 up 13 days, 4:59, 0 user, load average: 0.10, 0.11, 0.09", "stdout_lines": [" 17:09:42 up 13 days, 4:59, 0 user, load average: 0.10, 0.11, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003596", "end": "2025-12-19 17:09:35.436294", "msg": "", "rc": 0, "start": "2025-12-19 17:09:35.432698", "stderr": "", "stderr_lines": [], "stdout": " 17:09:35 up 20 days, 1:11, 0 user, load average: 0.05, 0.08, 0.21", "stdout_lines": [" 17:09:35 up 20 days, 1:11, 0 user, load average: 0.05, 0.08, 0.21"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008353", "end": "2025-12-19 17:10:11.489173", "msg": "", "rc": 0, "start": "2025-12-19 17:10:11.480820", "stderr": "", "stderr_lines": [], "stdout": " 17:10:11 up 196 days, 8:43, 1 user, load average: 0.19, 0.18, 0.17", "stdout_lines": [" 17:10:11 up 196 days, 8:43, 1 user, load average: 0.19, 0.18, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009225", "end": "2025-12-19 17:10:11.536634", "msg": "", "rc": 0, "start": "2025-12-19 17:10:11.527409", "stderr": "", "stderr_lines": [], "stdout": " 17:10:11 up 196 days, 8:43, 1 user, load average: 0.16, 0.22, 0.19", "stdout_lines": [" 17:10:11 up 196 days, 8:43, 1 user, load average: 0.16, 0.22, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004467", "end": "2025-12-19 17:10:11.731346", "msg": "", "rc": 0, "start": "2025-12-19 17:10:11.726879", "stderr": "", "stderr_lines": [], "stdout": " 17:10:11 up 7:53, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 17:10:11 up 7:53, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003180", "end": "2025-12-19 17:09:38.601295", "msg": "", "rc": 0, "start": "2025-12-19 17:09:38.598115", "stderr": "", "stderr_lines": [], "stdout": " 17:09:38 up 22 days, 20:03, 0 user, load average: 0.64, 0.68, 0.61", "stdout_lines": [" 17:09:38 up 22 days, 20:03, 0 user, load average: 0.64, 0.68, 0.61"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004181", "end": "2025-12-19 14:10:12.001892", "msg": "", "rc": 0, "start": "2025-12-19 14:10:11.997711", "stderr": "", "stderr_lines": [], "stdout": " 2:10PM up 24 days, 3:59, 1 user, load averages: 0.26, 0.25, 0.23", "stdout_lines": [" 2:10PM up 24 days, 3:59, 1 user, load averages: 0.26, 0.25, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002920", "end": "2025-12-19 17:09:45.939024", "msg": "", "rc": 0, "start": "2025-12-19 17:09:45.936104", "stderr": "", "stderr_lines": [], "stdout": " 17:09:45 up 19 days, 6:25, 0 user, load average: 0.18, 0.21, 0.21", "stdout_lines": [" 17:09:45 up 19 days, 6:25, 0 user, load average: 0.18, 0.21, 0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003756", "end": "2025-12-19 17:10:12.151659", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.147903", "stderr": "", "stderr_lines": [], "stdout": " 17:10:12 up 7:53, 1 user, load average: 0.08, 0.09, 0.07", "stdout_lines": [" 17:10:12 up 7:53, 1 user, load average: 0.08, 0.09, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007642", "end": "2025-12-19 17:10:14.923791", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.916149", "stderr": "", "stderr_lines": [], "stdout": " 17:10:14 up 3:19, 1 user, load average: 1.25, 1.12, 1.14", "stdout_lines": [" 17:10:14 up 3:19, 1 user, load average: 1.25, 1.12, 1.14"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019384", "end": "2025-12-19 17:10:12.193185", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.173801", "stderr": "", "stderr_lines": [], "stdout": " 17:10:12 up 17 days, 6:36, 1 user, load average: 0.22, 0.14, 0.10", "stdout_lines": [" 17:10:12 up 17 days, 6:36, 1 user, load average: 0.22, 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.004243", "end": "2025-12-19 17:10:12.705135", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.700892", "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.004738", "end": "2025-12-19 17:10:12.733654", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.728916", "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.004033", "end": "2025-12-19 17:10:12.738723", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.734690", "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.004620", "end": "2025-12-19 17:10:12.754052", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.749432", "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.005327", "end": "2025-12-19 17:10:12.758507", "msg": "", "rc": 0, "start": "2025-12-19 17:10:12.753180", "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.004851", "end": "2025-12-19 17:09:44.517629", "msg": "", "rc": 0, "start": "2025-12-19 17:09:44.512778", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005703", "end": "2025-12-19 17:09:37.358910", "msg": "", "rc": 0, "start": "2025-12-19 17:09:37.353207", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010593", "end": "2025-12-19 17:10:13.470148", "msg": "", "rc": 0, "start": "2025-12-19 17:10:13.459555", "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.011904", "end": "2025-12-19 17:10:13.488592", "msg": "", "rc": 0, "start": "2025-12-19 17:10:13.476688", "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.005720", "end": "2025-12-19 17:10:13.680829", "msg": "", "rc": 0, "start": "2025-12-19 17:10:13.675109", "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.005328", "end": "2025-12-19 17:09:40.528641", "msg": "", "rc": 0, "start": "2025-12-19 17:09:40.523313", "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.005218", "end": "2025-12-19 14:10:13.946497", "msg": "", "rc": 0, "start": "2025-12-19 14:10:13.941279", "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.005532", "end": "2025-12-19 17:09:47.940504", "msg": "", "rc": 0, "start": "2025-12-19 17:09:47.934972", "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.005396", "end": "2025-12-19 17:10:14.115620", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.110224", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021238", "end": "2025-12-19 17:10:17.053773", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.032535", "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.025282", "end": "2025-12-19 17:10:14.093349", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.068067", "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.004304", "end": "2025-12-19 17:10:14.628154", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.623850", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004752", "end": "2025-12-19 17:10:14.652145", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.647393", "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.004442", "end": "2025-12-19 17:10:14.660254", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.655812", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004791", "end": "2025-12-19 17:10:14.688021", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.683230", "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.007599", "end": "2025-12-19 17:10:14.715057", "msg": "", "rc": 0, "start": "2025-12-19 17:10:14.707458", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003642", "end": "2025-12-19 17:09:46.471543", "msg": "", "rc": 0, "start": "2025-12-19 17:09:46.467901", "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.004386", "end": "2025-12-19 17:09:39.296651", "msg": "", "rc": 0, "start": "2025-12-19 17:09:39.292265", "stderr": "", "stderr_lines": [], "stdout": "65.8%", "stdout_lines": ["65.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.010927", "end": "2025-12-19 17:10:15.337758", "msg": "", "rc": 0, "start": "2025-12-19 17:10:15.326831", "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.011892", "end": "2025-12-19 17:10:15.381534", "msg": "", "rc": 0, "start": "2025-12-19 17:10:15.369642", "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.006971", "end": "2025-12-19 17:10:15.626397", "msg": "", "rc": 0, "start": "2025-12-19 17:10:15.619426", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004131", "end": "2025-12-19 17:09:42.470376", "msg": "", "rc": 0, "start": "2025-12-19 17:09:42.466245", "stderr": "", "stderr_lines": [], "stdout": "28.2%", "stdout_lines": ["28.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.003980", "end": "2025-12-19 17:09:49.748441", "msg": "", "rc": 0, "start": "2025-12-19 17:09:49.744461", "stderr": "", "stderr_lines": [], "stdout": "55.0%", "stdout_lines": ["55.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.005164", "end": "2025-12-19 14:10:15.838156", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:10:15.832992", "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.005421", "end": "2025-12-19 17:10:16.067267", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.061846", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.012797", "end": "2025-12-19 17:10:16.271892", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.259095", "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.025669", "end": "2025-12-19 17:10:16.021609", "msg": "", "rc": 0, "start": "2025-12-19 17:10:15.995940", "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.005351", "end": "2025-12-19 17:10:16.556452", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.551101", "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.005624", "end": "2025-12-19 17:10:16.577407", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.571783", "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.004931", "end": "2025-12-19 17:10:16.579317", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.574386", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003242", "end": "2025-12-19 17:10:16.604040", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.600798", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006848", "end": "2025-12-19 17:10:16.616223", "msg": "", "rc": 0, "start": "2025-12-19 17:10:16.609375", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002749", "end": "2025-12-19 17:09:48.382431", "msg": "", "rc": 0, "start": "2025-12-19 17:09:48.379682", "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.004867", "end": "2025-12-19 17:09:41.208863", "msg": "", "rc": 0, "start": "2025-12-19 17:09:41.203996", "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.011629", "end": "2025-12-19 17:10:17.244949", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.233320", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013047", "end": "2025-12-19 17:10:17.308660", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.295613", "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.003139", "end": "2025-12-19 17:10:17.528778", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.525639", "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.003032", "end": "2025-12-19 17:09:51.650040", "msg": "", "rc": 0, "start": "2025-12-19 17:09:51.647008", "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.003171", "end": "2025-12-19 17:09:44.425778", "msg": "", "rc": 0, "start": "2025-12-19 17:09:44.422607", "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-19 14:10:17.761773", "msg": "", "rc": 0, "start": "2025-12-19 14:10:17.757918", "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.002905", "end": "2025-12-19 17:10:17.951105", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.948200", "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.004317", "end": "2025-12-19 17:10:18.384273", "msg": "", "rc": 0, "start": "2025-12-19 17:10:18.379956", "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.028767", "end": "2025-12-19 17:10:17.964622", "msg": "", "rc": 0, "start": "2025-12-19 17:10:17.935855", "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.004060", "end": "2025-12-19 17:10:18.493156", "msg": "", "rc": 0, "start": "2025-12-19 17:10:18.489096", "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.003995", "end": "2025-12-19 17:10:18.502290", "msg": "", "rc": 0, "start": "2025-12-19 17:10:18.498295", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.004754", "end": "2025-12-19 17:10:18.516365", "msg": "", "rc": 0, "start": "2025-12-19 17:10:18.511611", "stderr": "", "stderr_lines": [], "stdout": "0.76", "stdout_lines": ["0.76"]}
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.005424", "end": "2025-12-19 17:10:18.550059", "msg": "", "rc": 0, "start": "2025-12-19 17:10:18.544635", "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-19 17:10:18.568417", "msg": "", "rc": 0, "start": "2025-12-19 17:10:18.562784", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004478", "end": "2025-12-19 17:09:50.341934", "msg": "", "rc": 0, "start": "2025-12-19 17:09:50.337456", "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.005209", "end": "2025-12-19 17:09:43.203180", "msg": "", "rc": 0, "start": "2025-12-19 17:09:43.197971", "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.010212", "end": "2025-12-19 17:10:19.270048", "msg": "", "rc": 0, "start": "2025-12-19 17:10:19.259836", "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.011297", "end": "2025-12-19 17:10:19.323763", "msg": "", "rc": 0, "start": "2025-12-19 17:10:19.312466", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
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.005489", "end": "2025-12-19 17:10:19.488822", "msg": "", "rc": 0, "start": "2025-12-19 17:10:19.483333", "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.006980", "end": "2025-12-19 17:09:46.409512", "msg": "", "rc": 0, "start": "2025-12-19 17:09:46.402532", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004819", "end": "2025-12-19 17:09:53.696684", "msg": "", "rc": 0, "start": "2025-12-19 17:09:53.691865", "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.005772", "end": "2025-12-19 14:10:19.780628", "msg": "", "rc": 0, "start": "2025-12-19 14:10:19.774856", "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.005297", "end": "2025-12-19 17:10:19.909948", "msg": "", "rc": 0, "start": "2025-12-19 17:10:19.904651", "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.023853", "end": "2025-12-19 17:10:19.904816", "msg": "", "rc": 0, "start": "2025-12-19 17:10:19.880963", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.008943", "end": "2025-12-19 17:10:20.602749", "msg": "", "rc": 0, "start": "2025-12-19 17:10:20.593806", "stderr": "", "stderr_lines": [], "stdout": "1.29", "stdout_lines": ["1.29"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:10 up 7:54, 1 user, load average: 0.25, 0.19, 0.16\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.29\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:10 up 24 days, 4:01, 1 user, load average: 0.37, 0.13, 0.11\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.34\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:10 up 24 days, 4:21, 1 user, load average: 0.63, 0.67, 0.72\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.76\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:10 up 24 days, 5:34, 1 user, load average: 0.45, 0.52, 0.64\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.41\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:10 up 24 days, 6:20, 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: 17:10:12 up 17 days, 6:36, 1 user, load average: 0.22, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.21\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:11 up 196 days, 8:43, 1 user, load average: 0.16, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.15\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:11 up 196 days, 8:43, 1 user, load average: 0.19, 0.18, 0.17\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.16\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:09:42 up 13 days, 4:59, 0 user, load average: 0.10, 0.11, 0.09\nDisk Usage: 50%\nMemory Usage: 71.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:09:35 up 20 days, 1:11, 0 user, load average: 0.05, 0.08, 0.21\nDisk Usage: 25%\nMemory Usage: 65.8%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:11 up 7:53, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:09:38 up 22 days, 20:03, 0 user, load average: 0.64, 0.68, 0.61\nDisk Usage: 28%\nMemory Usage: 28.2%\nCPU Load: 0.67\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:09:45 up 19 days, 6:25, 0 user, load average: 0.18, 0.21, 0.21\nDisk Usage: 76%\nMemory Usage: 55.0%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:10PM up 24 days, 3:59, 1 user, load averages: 0.26, 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: 17:10:12 up 7:53, 1 user, load average: 0.08, 0.09, 0.07\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:10:14 up 3:19, 1 user, load average: 1.25, 1.12, 1.14\nDisk Usage: 1%\nMemory Usage: 12.7%\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-19T22:10:21.545997+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `4f45701a355748e0b62f9ef35d8476ea` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:15:00.005612+00:00 |
| **Fin** | 2025-12-19T22:15:21.839208+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: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003323", "end": "2025-12-19 17:15:10.357745", "msg": "", "rc": 0, "start": "2025-12-19 17:15:10.354422", "stderr": "", "stderr_lines": [], "stdout": " 17:15:10 up 24 days, 4:26, 1 user, load average: 0.49, 0.69, 0.73", "stdout_lines": [" 17:15:10 up 24 days, 4:26, 1 user, load average: 0.49, 0.69, 0.73"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003581", "end": "2025-12-19 17:15:10.365791", "msg": "", "rc": 0, "start": "2025-12-19 17:15:10.362210", "stderr": "", "stderr_lines": [], "stdout": " 17:15:10 up 24 days, 6:25, 1 user, load average: 0.17, 0.04, 0.01", "stdout_lines": [" 17:15:10 up 24 days, 6:25, 1 user, load average: 0.17, 0.04, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003922", "end": "2025-12-19 17:15:10.382566", "msg": "", "rc": 0, "start": "2025-12-19 17:15:10.378644", "stderr": "", "stderr_lines": [], "stdout": " 17:15:10 up 24 days, 5:39, 1 user, load average: 0.68, 0.63, 0.65", "stdout_lines": [" 17:15:10 up 24 days, 5:39, 1 user, load average: 0.68, 0.63, 0.65"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003028", "end": "2025-12-19 17:15:10.389310", "msg": "", "rc": 0, "start": "2025-12-19 17:15:10.386282", "stderr": "", "stderr_lines": [], "stdout": " 17:15:10 up 7:59, 1 user, load average: 0.22, 0.18, 0.16", "stdout_lines": [" 17:15:10 up 7:59, 1 user, load average: 0.22, 0.18, 0.16"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002736", "end": "2025-12-19 17:14:42.156511", "msg": "", "rc": 0, "start": "2025-12-19 17:14:42.153775", "stderr": "", "stderr_lines": [], "stdout": " 17:14:42 up 13 days, 5:04, 0 user, load average: 0.07, 0.11, 0.09", "stdout_lines": [" 17:14:42 up 13 days, 5:04, 0 user, load average: 0.07, 0.11, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008589", "end": "2025-12-19 17:15:11.036936", "msg": "", "rc": 0, "start": "2025-12-19 17:15:11.028347", "stderr": "", "stderr_lines": [], "stdout": " 17:15:11 up 196 days, 8:48, 1 user, load average: 0.23, 0.16, 0.15", "stdout_lines": [" 17:15:11 up 196 days, 8:48, 1 user, load average: 0.23, 0.16, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009120", "end": "2025-12-19 17:15:11.085681", "msg": "", "rc": 0, "start": "2025-12-19 17:15:11.076561", "stderr": "", "stderr_lines": [], "stdout": " 17:15:11 up 196 days, 8:48, 1 user, load average: 0.09, 0.16, 0.17", "stdout_lines": [" 17:15:11 up 196 days, 8:48, 1 user, load average: 0.09, 0.16, 0.17"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004368", "end": "2025-12-19 17:15:11.358560", "msg": "", "rc": 0, "start": "2025-12-19 17:15:10.354192", "stderr": "", "stderr_lines": [], "stdout": " 17:15:10 up 24 days, 4:06, 1 user, load average: 0.00, 0.05, 0.08", "stdout_lines": [" 17:15:10 up 24 days, 4:06, 1 user, load average: 0.00, 0.05, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003534", "end": "2025-12-19 17:14:35.409775", "msg": "", "rc": 0, "start": "2025-12-19 17:14:35.406241", "stderr": "", "stderr_lines": [], "stdout": " 17:14:35 up 20 days, 1:16, 0 user, load average: 0.00, 0.02, 0.14", "stdout_lines": [" 17:14:35 up 20 days, 1:16, 0 user, load average: 0.00, 0.02, 0.14"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004512", "end": "2025-12-19 17:15:11.548942", "msg": "", "rc": 0, "start": "2025-12-19 17:15:11.544430", "stderr": "", "stderr_lines": [], "stdout": " 17:15:11 up 7:58, 1 user, load average: 0.12, 0.09, 0.02", "stdout_lines": [" 17:15:11 up 7:58, 1 user, load average: 0.12, 0.09, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003301", "end": "2025-12-19 17:14:38.348970", "msg": "", "rc": 0, "start": "2025-12-19 17:14:38.345669", "stderr": "", "stderr_lines": [], "stdout": " 17:14:38 up 22 days, 20:08, 0 user, load average: 0.36, 0.52, 0.55", "stdout_lines": [" 17:14:38 up 22 days, 20:08, 0 user, load average: 0.36, 0.52, 0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004223", "end": "2025-12-19 14:15:11.789033", "msg": "", "rc": 0, "start": "2025-12-19 14:15:11.784810", "stderr": "", "stderr_lines": [], "stdout": " 2:15PM up 24 days, 4:04, 1 user, load averages: 0.29, 0.25, 0.24", "stdout_lines": [" 2:15PM up 24 days, 4:04, 1 user, load averages: 0.29, 0.25, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003259", "end": "2025-12-19 17:14:45.758787", "msg": "", "rc": 0, "start": "2025-12-19 17:14:45.755528", "stderr": "", "stderr_lines": [], "stdout": " 17:14:45 up 19 days, 6:30, 0 user, load average: 0.20, 0.19, 0.19", "stdout_lines": [" 17:14:45 up 19 days, 6:30, 0 user, load average: 0.20, 0.19, 0.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019663", "end": "2025-12-19 17:15:11.739171", "msg": "", "rc": 0, "start": "2025-12-19 17:15:11.719508", "stderr": "", "stderr_lines": [], "stdout": " 17:15:11 up 17 days, 6:41, 1 user, load average: 0.40, 0.17, 0.11", "stdout_lines": [" 17:15:11 up 17 days, 6:41, 1 user, load average: 0.40, 0.17, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007820", "end": "2025-12-19 17:15:12.417575", "msg": "", "rc": 0, "start": "2025-12-19 17:15:12.409755", "stderr": "", "stderr_lines": [], "stdout": " 17:15:12 up 3:25, 1 user, load average: 1.45, 1.19, 1.15", "stdout_lines": [" 17:15:12 up 3:25, 1 user, load average: 1.45, 1.19, 1.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003650", "end": "2025-12-19 17:15:11.990831", "msg": "", "rc": 0, "start": "2025-12-19 17:15:11.987181", "stderr": "", "stderr_lines": [], "stdout": " 17:15:11 up 7:58, 1 user, load average: 0.22, 0.14, 0.10", "stdout_lines": [" 17:15:11 up 7:58, 1 user, load average: 0.22, 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.004359", "end": "2025-12-19 17:15:12.395590", "msg": "", "rc": 0, "start": "2025-12-19 17:15:12.391231", "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.004128", "end": "2025-12-19 17:15:12.404158", "msg": "", "rc": 0, "start": "2025-12-19 17:15:12.400030", "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.005085", "end": "2025-12-19 17:15:12.419922", "msg": "", "rc": 0, "start": "2025-12-19 17:15:12.414837", "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.005505", "end": "2025-12-19 17:15:12.449379", "msg": "", "rc": 0, "start": "2025-12-19 17:15:12.443874", "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-19 17:15:12.454411", "msg": "", "rc": 0, "start": "2025-12-19 17:15:12.449617", "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.005102", "end": "2025-12-19 17:14:44.216903", "msg": "", "rc": 0, "start": "2025-12-19 17:14:44.211801", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005435", "end": "2025-12-19 17:14:37.033599", "msg": "", "rc": 0, "start": "2025-12-19 17:14:37.028164", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010520", "end": "2025-12-19 17:15:13.140548", "msg": "", "rc": 0, "start": "2025-12-19 17:15:13.130028", "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.011904", "end": "2025-12-19 17:15:13.183776", "msg": "", "rc": 0, "start": "2025-12-19 17:15:13.171872", "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.005632", "end": "2025-12-19 17:15:13.369852", "msg": "", "rc": 0, "start": "2025-12-19 17:15:13.364220", "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.005392", "end": "2025-12-19 17:14:40.200034", "msg": "", "rc": 0, "start": "2025-12-19 17:14:40.194642", "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.004624", "end": "2025-12-19 17:14:47.570661", "msg": "", "rc": 0, "start": "2025-12-19 17:14:47.566037", "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.005434", "end": "2025-12-19 14:15:13.654628", "msg": "", "rc": 0, "start": "2025-12-19 14:15:13.649194", "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.005305", "end": "2025-12-19 17:15:13.795642", "msg": "", "rc": 0, "start": "2025-12-19 17:15:13.790337", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020329", "end": "2025-12-19 17:15:14.464319", "msg": "", "rc": 0, "start": "2025-12-19 17:15:14.443990", "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.025445", "end": "2025-12-19 17:15:13.794643", "msg": "", "rc": 0, "start": "2025-12-19 17:15:13.769198", "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.004407", "end": "2025-12-19 17:15:14.326458", "msg": "", "rc": 0, "start": "2025-12-19 17:15:14.322051", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004140", "end": "2025-12-19 17:15:14.350826", "msg": "", "rc": 0, "start": "2025-12-19 17:15:14.346686", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004915", "end": "2025-12-19 17:15:14.387450", "msg": "", "rc": 0, "start": "2025-12-19 17:15:14.382535", "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.005189", "end": "2025-12-19 17:15:14.399647", "msg": "", "rc": 0, "start": "2025-12-19 17:15:14.394458", "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.005867", "end": "2025-12-19 17:15:14.409910", "msg": "", "rc": 0, "start": "2025-12-19 17:15:14.404043", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004740", "end": "2025-12-19 17:14:46.177427", "msg": "", "rc": 0, "start": "2025-12-19 17:14:46.172687", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004688", "end": "2025-12-19 17:14:38.983150", "msg": "", "rc": 0, "start": "2025-12-19 17:14:38.978462", "stderr": "", "stderr_lines": [], "stdout": "65.8%", "stdout_lines": ["65.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.011911", "end": "2025-12-19 17:15:15.060574", "msg": "", "rc": 0, "start": "2025-12-19 17:15:15.048663", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010942", "end": "2025-12-19 17:15:15.062456", "msg": "", "rc": 0, "start": "2025-12-19 17:15:15.051514", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.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.005726", "end": "2025-12-19 17:15:15.334286", "msg": "", "rc": 0, "start": "2025-12-19 17:15:15.328560", "stderr": "", "stderr_lines": [], "stdout": "17.1%", "stdout_lines": ["17.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003997", "end": "2025-12-19 17:14:42.162540", "msg": "", "rc": 0, "start": "2025-12-19 17:14:42.158543", "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.005284", "end": "2025-12-19 14:15:15.557554", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:15:15.552270", "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.003593", "end": "2025-12-19 17:14:49.493672", "msg": "", "rc": 0, "start": "2025-12-19 17:14:49.490079", "stderr": "", "stderr_lines": [], "stdout": "57.6%", "stdout_lines": ["57.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.005408", "end": "2025-12-19 17:15:15.765764", "msg": "", "rc": 0, "start": "2025-12-19 17:15:15.760356", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.009835", "end": "2025-12-19 17:15:16.636806", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.626971", "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.025399", "end": "2025-12-19 17:15:15.716811", "msg": "", "rc": 0, "start": "2025-12-19 17:15:15.691412", "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.005329", "end": "2025-12-19 17:15:16.241494", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.236165", "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-19 17:15:16.261195", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.256329", "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.005425", "end": "2025-12-19 17:15:16.260493", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.255068", "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.002874", "end": "2025-12-19 17:15:16.299338", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.296464", "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.007480", "end": "2025-12-19 17:15:16.327043", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.319563", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002591", "end": "2025-12-19 17:14:48.064722", "msg": "", "rc": 0, "start": "2025-12-19 17:14:48.062131", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003220", "end": "2025-12-19 17:14:40.914665", "msg": "", "rc": 0, "start": "2025-12-19 17:14:40.911445", "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.011682", "end": "2025-12-19 17:15:16.932590", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.920908", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012696", "end": "2025-12-19 17:15:16.980997", "msg": "", "rc": 0, "start": "2025-12-19 17:15:16.968301", "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.003250", "end": "2025-12-19 17:15:17.212204", "msg": "", "rc": 0, "start": "2025-12-19 17:15:17.208954", "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.002881", "end": "2025-12-19 17:14:44.077703", "msg": "", "rc": 0, "start": "2025-12-19 17:14:44.074822", "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.003140", "end": "2025-12-19 17:14:51.371267", "msg": "", "rc": 0, "start": "2025-12-19 17:14:51.368127", "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.004903", "end": "2025-12-19 14:15:17.451306", "msg": "", "rc": 0, "start": "2025-12-19 14:15:17.446403", "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.002953", "end": "2025-12-19 17:15:17.640017", "msg": "", "rc": 0, "start": "2025-12-19 17:15:17.637064", "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.004549", "end": "2025-12-19 17:15:18.739964", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.735415", "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.028674", "end": "2025-12-19 17:15:17.638041", "msg": "", "rc": 0, "start": "2025-12-19 17:15:17.609367", "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.004198", "end": "2025-12-19 17:15:18.158995", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.154797", "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.004132", "end": "2025-12-19 17:15:18.177650", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.173518", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005891", "end": "2025-12-19 17:15:18.207814", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.201923", "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.005273", "end": "2025-12-19 17:15:18.219940", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.214667", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
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.004738", "end": "2025-12-19 17:15:18.225849", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.221111", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004848", "end": "2025-12-19 17:14:50.009631", "msg": "", "rc": 0, "start": "2025-12-19 17:14:50.004783", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005009", "end": "2025-12-19 17:14:42.838720", "msg": "", "rc": 0, "start": "2025-12-19 17:14:42.833711", "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.010234", "end": "2025-12-19 17:15:18.949801", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.939567", "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.011090", "end": "2025-12-19 17:15:18.991844", "msg": "", "rc": 0, "start": "2025-12-19 17:15:18.980754", "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.005600", "end": "2025-12-19 17:15:19.171530", "msg": "", "rc": 0, "start": "2025-12-19 17:15:19.165930", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004999", "end": "2025-12-19 17:14:46.073253", "msg": "", "rc": 0, "start": "2025-12-19 17:14:46.068254", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.004280", "end": "2025-12-19 17:14:53.381265", "msg": "", "rc": 0, "start": "2025-12-19 17:14:53.376985", "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.005781", "end": "2025-12-19 14:15:19.462506", "msg": "", "rc": 0, "start": "2025-12-19 14:15:19.456725", "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.005345", "end": "2025-12-19 17:15:19.601217", "msg": "", "rc": 0, "start": "2025-12-19 17:15:19.595872", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
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.024382", "end": "2025-12-19 17:15:19.535175", "msg": "", "rc": 0, "start": "2025-12-19 17:15:19.510793", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.011922", "end": "2025-12-19 17:15:20.921758", "msg": "", "rc": 0, "start": "2025-12-19 17:15:20.909836", "stderr": "", "stderr_lines": [], "stdout": "2.00", "stdout_lines": ["2.00"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:10 up 24 days, 4:06, 1 user, load average: 0.00, 0.05, 0.08\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:10 up 7:59, 1 user, load average: 0.22, 0.18, 0.16\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.18\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:10 up 24 days, 4:26, 1 user, load average: 0.49, 0.69, 0.73\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.41\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:10 up 24 days, 5:39, 1 user, load average: 0.68, 0.63, 0.65\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.57\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:10 up 24 days, 6:25, 1 user, load average: 0.17, 0.04, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:11 up 17 days, 6:41, 1 user, load average: 0.40, 0.17, 0.11\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.45\nCPU Temp: 36.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:11 up 196 days, 8:48, 1 user, load average: 0.09, 0.16, 0.17\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.16\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:11 up 196 days, 8:48, 1 user, load average: 0.23, 0.16, 0.15\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.19\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:14:42 up 13 days, 5:04, 0 user, load average: 0.07, 0.11, 0.09\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:14:35 up 20 days, 1:16, 0 user, load average: 0.00, 0.02, 0.14\nDisk Usage: 25%\nMemory Usage: 65.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:11 up 7:58, 1 user, load average: 0.12, 0.09, 0.02\nDisk Usage: 1%\nMemory Usage: 17.1%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:14:38 up 22 days, 20:08, 0 user, load average: 0.36, 0.52, 0.55\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:14:45 up 19 days, 6:30, 0 user, load average: 0.20, 0.19, 0.19\nDisk Usage: 76%\nMemory Usage: 57.6%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:15PM up 24 days, 4:04, 1 user, load averages: 0.29, 0.25, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:11 up 7:58, 1 user, load average: 0.22, 0.14, 0.10\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:15:12 up 3:25, 1 user, load average: 1.45, 1.19, 1.15\nDisk Usage: 1%\nMemory Usage: 12.6%\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-19T22:15:21.886699+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0186c63c093344c78666f4b8c7e361a4` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:20:00.002769+00:00 |
| **Fin** | 2025-12-19T22:20:21.577426+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: [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.003264", "end": "2025-12-19 17:20:09.640813", "msg": "", "rc": 0, "start": "2025-12-19 17:20:09.637549", "stderr": "", "stderr_lines": [], "stdout": " 17:20:09 up 24 days, 4:11, 1 user, load average: 0.03, 0.05, 0.08", "stdout_lines": [" 17:20:09 up 24 days, 4:11, 1 user, load average: 0.03, 0.05, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003263", "end": "2025-12-19 17:20:09.647030", "msg": "", "rc": 0, "start": "2025-12-19 17:20:09.643767", "stderr": "", "stderr_lines": [], "stdout": " 17:20:09 up 24 days, 4:31, 1 user, load average: 0.76, 0.69, 0.72", "stdout_lines": [" 17:20:09 up 24 days, 4:31, 1 user, load average: 0.76, 0.69, 0.72"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003567", "end": "2025-12-19 17:20:09.649578", "msg": "", "rc": 0, "start": "2025-12-19 17:20:09.646011", "stderr": "", "stderr_lines": [], "stdout": " 17:20:09 up 24 days, 6:30, 1 user, load average: 0.10, 0.04, 0.01", "stdout_lines": [" 17:20:09 up 24 days, 6:30, 1 user, load average: 0.10, 0.04, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003009", "end": "2025-12-19 17:20:09.666766", "msg": "", "rc": 0, "start": "2025-12-19 17:20:09.663757", "stderr": "", "stderr_lines": [], "stdout": " 17:20:09 up 8:04, 1 user, load average: 0.42, 0.22, 0.18", "stdout_lines": [" 17:20:09 up 8:04, 1 user, load average: 0.42, 0.22, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004134", "end": "2025-12-19 17:20:09.670506", "msg": "", "rc": 0, "start": "2025-12-19 17:20:09.666372", "stderr": "", "stderr_lines": [], "stdout": " 17:20:09 up 24 days, 5:44, 1 user, load average: 0.83, 0.58, 0.61", "stdout_lines": [" 17:20:09 up 24 days, 5:44, 1 user, load average: 0.83, 0.58, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003061", "end": "2025-12-19 17:19:41.459189", "msg": "", "rc": 0, "start": "2025-12-19 17:19:41.456128", "stderr": "", "stderr_lines": [], "stdout": " 17:19:41 up 13 days, 5:09, 0 user, load average: 0.02, 0.07, 0.08", "stdout_lines": [" 17:19:41 up 13 days, 5:09, 0 user, load average: 0.02, 0.07, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003294", "end": "2025-12-19 17:19:34.285620", "msg": "", "rc": 0, "start": "2025-12-19 17:19:34.282326", "stderr": "", "stderr_lines": [], "stdout": " 17:19:34 up 20 days, 1:21, 0 user, load average: 0.00, 0.00, 0.09", "stdout_lines": [" 17:19:34 up 20 days, 1:21, 0 user, load average: 0.00, 0.00, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008273", "end": "2025-12-19 17:20:10.341996", "msg": "", "rc": 0, "start": "2025-12-19 17:20:10.333723", "stderr": "", "stderr_lines": [], "stdout": " 17:20:10 up 196 days, 8:53, 1 user, load average: 0.30, 0.19, 0.16", "stdout_lines": [" 17:20:10 up 196 days, 8:53, 1 user, load average: 0.30, 0.19, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009341", "end": "2025-12-19 17:20:10.386826", "msg": "", "rc": 0, "start": "2025-12-19 17:20:10.377485", "stderr": "", "stderr_lines": [], "stdout": " 17:20:10 up 196 days, 8:53, 1 user, load average: 0.35, 0.22, 0.19", "stdout_lines": [" 17:20:10 up 196 days, 8:53, 1 user, load average: 0.35, 0.22, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004815", "end": "2025-12-19 17:20:10.624573", "msg": "", "rc": 0, "start": "2025-12-19 17:20:10.619758", "stderr": "", "stderr_lines": [], "stdout": " 17:20:10 up 8:03, 1 user, load average: 0.15, 0.06, 0.01", "stdout_lines": [" 17:20:10 up 8:03, 1 user, load average: 0.15, 0.06, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003190", "end": "2025-12-19 17:19:37.474580", "msg": "", "rc": 0, "start": "2025-12-19 17:19:37.471390", "stderr": "", "stderr_lines": [], "stdout": " 17:19:37 up 22 days, 20:13, 0 user, load average: 0.39, 0.50, 0.54", "stdout_lines": [" 17:19:37 up 22 days, 20:13, 0 user, load average: 0.39, 0.50, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004234", "end": "2025-12-19 17:19:44.737121", "msg": "", "rc": 0, "start": "2025-12-19 17:19:44.732887", "stderr": "", "stderr_lines": [], "stdout": " 17:19:44 up 19 days, 6:35, 0 user, load average: 0.10, 0.17, 0.18", "stdout_lines": [" 17:19:44 up 19 days, 6:35, 0 user, load average: 0.10, 0.17, 0.18"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004359", "end": "2025-12-19 14:20:10.829933", "msg": "", "rc": 0, "start": "2025-12-19 14:20:10.825574", "stderr": "", "stderr_lines": [], "stdout": " 2:20PM up 24 days, 4:09, 1 user, load averages: 0.24, 0.23, 0.24", "stdout_lines": [" 2:20PM up 24 days, 4:09, 1 user, load averages: 0.24, 0.23, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003930", "end": "2025-12-19 17:20:11.050553", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.046623", "stderr": "", "stderr_lines": [], "stdout": " 17:20:11 up 8:03, 1 user, load average: 0.03, 0.10, 0.08", "stdout_lines": [" 17:20:11 up 8:03, 1 user, load average: 0.03, 0.10, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008028", "end": "2025-12-19 17:20:12.162587", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.154559", "stderr": "", "stderr_lines": [], "stdout": " 17:20:12 up 3:30, 1 user, load average: 1.44, 1.23, 1.17", "stdout_lines": [" 17:20:12 up 3:30, 1 user, load average: 1.44, 1.23, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019264", "end": "2025-12-19 17:20:11.040179", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.020915", "stderr": "", "stderr_lines": [], "stdout": " 17:20:11 up 17 days, 6:46, 1 user, load average: 0.31, 0.19, 0.12", "stdout_lines": [" 17:20:11 up 17 days, 6:46, 1 user, load average: 0.31, 0.19, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004262", "end": "2025-12-19 17:20:11.550566", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.546304", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004127", "end": "2025-12-19 17:20:11.561470", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.557343", "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-19 17:20:11.585809", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.581152", "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.004810", "end": "2025-12-19 17:20:11.601315", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.596505", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005700", "end": "2025-12-19 17:20:11.617802", "msg": "", "rc": 0, "start": "2025-12-19 17:20:11.612102", "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.005078", "end": "2025-12-19 17:19:43.363744", "msg": "", "rc": 0, "start": "2025-12-19 17:19:43.358666", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005507", "end": "2025-12-19 17:19:36.199372", "msg": "", "rc": 0, "start": "2025-12-19 17:19:36.193865", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010727", "end": "2025-12-19 17:20:12.298502", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.287775", "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.011670", "end": "2025-12-19 17:20:12.314712", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.303042", "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.005752", "end": "2025-12-19 17:20:12.524180", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.518428", "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.005283", "end": "2025-12-19 17:19:39.367596", "msg": "", "rc": 0, "start": "2025-12-19 17:19:39.362313", "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.005318", "end": "2025-12-19 14:20:12.774681", "msg": "", "rc": 0, "start": "2025-12-19 14:20:12.769363", "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.004885", "end": "2025-12-19 17:19:46.720925", "msg": "", "rc": 0, "start": "2025-12-19 17:19:46.716040", "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.005244", "end": "2025-12-19 17:20:12.949915", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.944671", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021120", "end": "2025-12-19 17:20:14.235697", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.214577", "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.025273", "end": "2025-12-19 17:20:12.950727", "msg": "", "rc": 0, "start": "2025-12-19 17:20:12.925454", "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-19 17:20:13.467536", "msg": "", "rc": 0, "start": "2025-12-19 17:20:13.463312", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004341", "end": "2025-12-19 17:20:13.486876", "msg": "", "rc": 0, "start": "2025-12-19 17:20:13.482535", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004756", "end": "2025-12-19 17:20:13.506892", "msg": "", "rc": 0, "start": "2025-12-19 17:20:13.502136", "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.004876", "end": "2025-12-19 17:20:13.531439", "msg": "", "rc": 0, "start": "2025-12-19 17:20:13.526563", "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.005832", "end": "2025-12-19 17:20:13.526403", "msg": "", "rc": 0, "start": "2025-12-19 17:20:13.520571", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004245", "end": "2025-12-19 17:19:45.281866", "msg": "", "rc": 0, "start": "2025-12-19 17:19:45.277621", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004228", "end": "2025-12-19 17:19:38.100474", "msg": "", "rc": 0, "start": "2025-12-19 17:19:38.096246", "stderr": "", "stderr_lines": [], "stdout": "65.8%", "stdout_lines": ["65.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.011030", "end": "2025-12-19 17:20:14.160881", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.149851", "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.011983", "end": "2025-12-19 17:20:14.186411", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.174428", "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.005820", "end": "2025-12-19 17:20:14.443440", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.437620", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004148", "end": "2025-12-19 17:19:41.281050", "msg": "", "rc": 0, "start": "2025-12-19 17:19:41.276902", "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.005101", "end": "2025-12-19 14:20:14.641875", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:20:14.636774", "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.005010", "end": "2025-12-19 17:19:48.614427", "msg": "", "rc": 0, "start": "2025-12-19 17:19:48.609417", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.005479", "end": "2025-12-19 17:20:14.872964", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.867485", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.009390", "end": "2025-12-19 17:20:16.357797", "msg": "", "rc": 0, "start": "2025-12-19 17:20:16.348407", "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.025745", "end": "2025-12-19 17:20:14.858976", "msg": "", "rc": 0, "start": "2025-12-19 17:20:14.833231", "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.005175", "end": "2025-12-19 17:20:15.372608", "msg": "", "rc": 0, "start": "2025-12-19 17:20:15.367433", "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.005581", "end": "2025-12-19 17:20:15.389133", "msg": "", "rc": 0, "start": "2025-12-19 17:20:15.383552", "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.004796", "end": "2025-12-19 17:20:15.398537", "msg": "", "rc": 0, "start": "2025-12-19 17:20:15.393741", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002978", "end": "2025-12-19 17:20:15.418715", "msg": "", "rc": 0, "start": "2025-12-19 17:20:15.415737", "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.006386", "end": "2025-12-19 17:20:15.427120", "msg": "", "rc": 0, "start": "2025-12-19 17:20:15.420734", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002457", "end": "2025-12-19 17:19:47.176376", "msg": "", "rc": 0, "start": "2025-12-19 17:19:47.173919", "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.003226", "end": "2025-12-19 17:19:40.003668", "msg": "", "rc": 0, "start": "2025-12-19 17:19:40.000442", "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.011802", "end": "2025-12-19 17:20:16.076257", "msg": "", "rc": 0, "start": "2025-12-19 17:20:16.064455", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012796", "end": "2025-12-19 17:20:16.110238", "msg": "", "rc": 0, "start": "2025-12-19 17:20:16.097442", "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.003083", "end": "2025-12-19 17:20:16.339042", "msg": "", "rc": 0, "start": "2025-12-19 17:20:16.335959", "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.003091", "end": "2025-12-19 17:19:43.173754", "msg": "", "rc": 0, "start": "2025-12-19 17:19:43.170663", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003873", "end": "2025-12-19 14:20:16.561182", "msg": "", "rc": 0, "start": "2025-12-19 14:20:16.557309", "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.002906", "end": "2025-12-19 17:19:50.508683", "msg": "", "rc": 0, "start": "2025-12-19 17:19:50.505777", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002912", "end": "2025-12-19 17:20:16.753208", "msg": "", "rc": 0, "start": "2025-12-19 17:20:16.750296", "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.004754", "end": "2025-12-19 17:20:18.408931", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.404177", "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.028329", "end": "2025-12-19 17:20:16.766982", "msg": "", "rc": 0, "start": "2025-12-19 17:20:16.738653", "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.004079", "end": "2025-12-19 17:20:17.289100", "msg": "", "rc": 0, "start": "2025-12-19 17:20:17.285021", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
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.004011", "end": "2025-12-19 17:20:17.321137", "msg": "", "rc": 0, "start": "2025-12-19 17:20:17.317126", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
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.004767", "end": "2025-12-19 17:20:17.317212", "msg": "", "rc": 0, "start": "2025-12-19 17:20:17.312445", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
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-19 17:20:17.336428", "msg": "", "rc": 0, "start": "2025-12-19 17:20:17.331385", "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.005445", "end": "2025-12-19 17:20:17.356055", "msg": "", "rc": 0, "start": "2025-12-19 17:20:17.350610", "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.004699", "end": "2025-12-19 17:19:49.110577", "msg": "", "rc": 0, "start": "2025-12-19 17:19:49.105878", "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.006686", "end": "2025-12-19 17:19:41.952550", "msg": "", "rc": 0, "start": "2025-12-19 17:19:41.945864", "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.010284", "end": "2025-12-19 17:20:18.078099", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.067815", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
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.011217", "end": "2025-12-19 17:20:18.115435", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.104218", "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.005506", "end": "2025-12-19 17:20:18.280904", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.275398", "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.005007", "end": "2025-12-19 17:19:45.145108", "msg": "", "rc": 0, "start": "2025-12-19 17:19:45.140101", "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.005988", "end": "2025-12-19 14:20:18.561699", "msg": "", "rc": 0, "start": "2025-12-19 14:20:18.555711", "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.004062", "end": "2025-12-19 17:19:52.501881", "msg": "", "rc": 0, "start": "2025-12-19 17:19:52.497819", "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.005210", "end": "2025-12-19 17:20:18.698566", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.693356", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.024562", "end": "2025-12-19 17:20:18.671859", "msg": "", "rc": 0, "start": "2025-12-19 17:20:18.647297", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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.007885", "end": "2025-12-19 17:20:20.607063", "msg": "", "rc": 0, "start": "2025-12-19 17:20:20.599178", "stderr": "", "stderr_lines": [], "stdout": "1.48", "stdout_lines": ["1.48"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:09 up 8:04, 1 user, load average: 0.42, 0.22, 0.18\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.47\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:09 up 24 days, 4:11, 1 user, load average: 0.03, 0.05, 0.08\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.03\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:09 up 24 days, 4:31, 1 user, load average: 0.76, 0.69, 0.72\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.72\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:09 up 24 days, 5:44, 1 user, load average: 0.83, 0.58, 0.61\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.86\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:09 up 24 days, 6:30, 1 user, load average: 0.10, 0.04, 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: 17:20:11 up 17 days, 6:46, 1 user, load average: 0.31, 0.19, 0.12\nDisk Usage: 21%\nMemory Usage: 20.9%\nCPU Load: 0.34\nCPU Temp: 36.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:10 up 196 days, 8:53, 1 user, load average: 0.35, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.29\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:10 up 196 days, 8:53, 1 user, load average: 0.30, 0.19, 0.16\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.41\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:19:41 up 13 days, 5:09, 0 user, load average: 0.02, 0.07, 0.08\nDisk Usage: 50%\nMemory Usage: 70.4%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:19:34 up 20 days, 1:21, 0 user, load average: 0.00, 0.00, 0.09\nDisk Usage: 25%\nMemory Usage: 65.8%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:10 up 8:03, 1 user, load average: 0.15, 0.06, 0.01\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:19:37 up 22 days, 20:13, 0 user, load average: 0.39, 0.50, 0.54\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:19:44 up 19 days, 6:35, 0 user, load average: 0.10, 0.17, 0.18\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:20PM up 24 days, 4:09, 1 user, load averages: 0.24, 0.23, 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: 17:20:11 up 8:03, 1 user, load average: 0.03, 0.10, 0.08\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:20:12 up 3:30, 1 user, load average: 1.44, 1.23, 1.17\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.48\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-19T22:20:21.646828+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7518a419a42349dbad3dfb891c4d90bb` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:25:00.006658+00:00 |
| **Fin** | 2025-12-19T22:25:21.372844+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [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: [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.003987", "end": "2025-12-19 17:25:10.200368", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.196381", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 24 days, 6:35, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 17:25:10 up 24 days, 6:35, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003399", "end": "2025-12-19 17:25:10.199248", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.195849", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 24 days, 4:16, 1 user, load average: 0.16, 0.07, 0.08", "stdout_lines": [" 17:25:10 up 24 days, 4:16, 1 user, load average: 0.16, 0.07, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003578", "end": "2025-12-19 17:25:10.212614", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.209036", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 24 days, 4:36, 1 user, load average: 0.25, 0.40, 0.59", "stdout_lines": [" 17:25:10 up 24 days, 4:36, 1 user, load average: 0.25, 0.40, 0.59"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004289", "end": "2025-12-19 17:25:10.226137", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.221848", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 24 days, 5:49, 1 user, load average: 0.49, 0.53, 0.59", "stdout_lines": [" 17:25:10 up 24 days, 5:49, 1 user, load average: 0.49, 0.53, 0.59"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003029", "end": "2025-12-19 17:25:10.235075", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.232046", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 8:09, 1 user, load average: 0.28, 0.18, 0.17", "stdout_lines": [" 17:25:10 up 8:09, 1 user, load average: 0.28, 0.18, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003244", "end": "2025-12-19 17:24:42.003248", "msg": "", "rc": 0, "start": "2025-12-19 17:24:42.000004", "stderr": "", "stderr_lines": [], "stdout": " 17:24:42 up 13 days, 5:14, 0 user, load average: 0.09, 0.08, 0.08", "stdout_lines": [" 17:24:42 up 13 days, 5:14, 0 user, load average: 0.09, 0.08, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003352", "end": "2025-12-19 17:24:34.825171", "msg": "", "rc": 0, "start": "2025-12-19 17:24:34.821819", "stderr": "", "stderr_lines": [], "stdout": " 17:24:34 up 20 days, 1:26, 0 user, load average: 0.00, 0.00, 0.07", "stdout_lines": [" 17:24:34 up 20 days, 1:26, 0 user, load average: 0.00, 0.00, 0.07"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008564", "end": "2025-12-19 17:25:10.897199", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.888635", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 196 days, 8:58, 1 user, load average: 0.11, 0.14, 0.15", "stdout_lines": [" 17:25:10 up 196 days, 8:58, 1 user, load average: 0.11, 0.14, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009548", "end": "2025-12-19 17:25:10.919258", "msg": "", "rc": 0, "start": "2025-12-19 17:25:10.909710", "stderr": "", "stderr_lines": [], "stdout": " 17:25:10 up 196 days, 8:58, 1 user, load average: 0.46, 0.48, 0.31", "stdout_lines": [" 17:25:10 up 196 days, 8:58, 1 user, load average: 0.46, 0.48, 0.31"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004548", "end": "2025-12-19 17:25:11.169583", "msg": "", "rc": 0, "start": "2025-12-19 17:25:11.165035", "stderr": "", "stderr_lines": [], "stdout": " 17:25:11 up 8:08, 1 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 17:25:11 up 8:08, 1 user, load average: 0.03, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003252", "end": "2025-12-19 17:24:38.001466", "msg": "", "rc": 0, "start": "2025-12-19 17:24:37.998214", "stderr": "", "stderr_lines": [], "stdout": " 17:24:38 up 22 days, 20:18, 0 user, load average: 0.34, 0.43, 0.50", "stdout_lines": [" 17:24:38 up 22 days, 20:18, 0 user, load average: 0.34, 0.43, 0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004184", "end": "2025-12-19 14:25:11.377918", "msg": "", "rc": 0, "start": "2025-12-19 14:25:11.373734", "stderr": "", "stderr_lines": [], "stdout": " 2:25PM up 24 days, 4:14, 1 user, load averages: 0.11, 0.17, 0.21", "stdout_lines": [" 2:25PM up 24 days, 4:14, 1 user, load averages: 0.11, 0.17, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002812", "end": "2025-12-19 17:24:45.313506", "msg": "", "rc": 0, "start": "2025-12-19 17:24:45.310694", "stderr": "", "stderr_lines": [], "stdout": " 17:24:45 up 19 days, 6:40, 0 user, load average: 0.29, 0.27, 0.21", "stdout_lines": [" 17:24:45 up 19 days, 6:40, 0 user, load average: 0.29, 0.27, 0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003923", "end": "2025-12-19 17:25:11.601897", "msg": "", "rc": 0, "start": "2025-12-19 17:25:11.597974", "stderr": "", "stderr_lines": [], "stdout": " 17:25:11 up 8:08, 1 user, load average: 0.00, 0.03, 0.06", "stdout_lines": [" 17:25:11 up 8:08, 1 user, load average: 0.00, 0.03, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007455", "end": "2025-12-19 17:25:12.024722", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.017267", "stderr": "", "stderr_lines": [], "stdout": " 17:25:12 up 3:36, 1 user, load average: 1.30, 1.17, 1.16", "stdout_lines": [" 17:25:12 up 3:36, 1 user, load average: 1.30, 1.17, 1.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019372", "end": "2025-12-19 17:25:11.576250", "msg": "", "rc": 0, "start": "2025-12-19 17:25:11.556878", "stderr": "", "stderr_lines": [], "stdout": " 17:25:11 up 17 days, 6:51, 1 user, load average: 0.15, 0.14, 0.10", "stdout_lines": [" 17:25:11 up 17 days, 6:51, 1 user, load average: 0.15, 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.004133", "end": "2025-12-19 17:25:12.078750", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.074617", "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.004207", "end": "2025-12-19 17:25:12.101807", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.097600", "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-19 17:25:12.109067", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.104480", "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.004962", "end": "2025-12-19 17:25:12.135632", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.130670", "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.005512", "end": "2025-12-19 17:25:12.145768", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.140256", "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.005274", "end": "2025-12-19 17:24:43.887037", "msg": "", "rc": 0, "start": "2025-12-19 17:24:43.881763", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005555", "end": "2025-12-19 17:24:36.724030", "msg": "", "rc": 0, "start": "2025-12-19 17:24:36.718475", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010615", "end": "2025-12-19 17:25:12.823084", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.812469", "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.011948", "end": "2025-12-19 17:25:12.855743", "msg": "", "rc": 0, "start": "2025-12-19 17:25:12.843795", "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.005984", "end": "2025-12-19 17:25:13.045243", "msg": "", "rc": 0, "start": "2025-12-19 17:25:13.039259", "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.005381", "end": "2025-12-19 17:24:39.908769", "msg": "", "rc": 0, "start": "2025-12-19 17:24:39.903388", "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.004678", "end": "2025-12-19 17:24:47.233458", "msg": "", "rc": 0, "start": "2025-12-19 17:24:47.228780", "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.005301", "end": "2025-12-19 14:25:13.319981", "msg": "", "rc": 0, "start": "2025-12-19 14:25:13.314680", "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.005274", "end": "2025-12-19 17:25:13.471180", "msg": "", "rc": 0, "start": "2025-12-19 17:25:13.465906", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020266", "end": "2025-12-19 17:25:14.100168", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.079902", "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.025370", "end": "2025-12-19 17:25:13.474964", "msg": "", "rc": 0, "start": "2025-12-19 17:25:13.449594", "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.004264", "end": "2025-12-19 17:25:14.016351", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.012087", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004408", "end": "2025-12-19 17:25:14.030219", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.025811", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004754", "end": "2025-12-19 17:25:14.033499", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.028745", "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.004548", "end": "2025-12-19 17:25:14.076563", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.072015", "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.005905", "end": "2025-12-19 17:25:14.089426", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.083521", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003764", "end": "2025-12-19 17:24:45.820592", "msg": "", "rc": 0, "start": "2025-12-19 17:24:45.816828", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004403", "end": "2025-12-19 17:24:38.654880", "msg": "", "rc": 0, "start": "2025-12-19 17:24:38.650477", "stderr": "", "stderr_lines": [], "stdout": "65.8%", "stdout_lines": ["65.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.010876", "end": "2025-12-19 17:25:14.694372", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.683496", "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.011864", "end": "2025-12-19 17:25:14.733010", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.721146", "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.006861", "end": "2025-12-19 17:25:14.983763", "msg": "", "rc": 0, "start": "2025-12-19 17:25:14.976902", "stderr": "", "stderr_lines": [], "stdout": "17.2%", "stdout_lines": ["17.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.004394", "end": "2025-12-19 17:24:41.834927", "msg": "", "rc": 0, "start": "2025-12-19 17:24:41.830533", "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.005205", "end": "2025-12-19 14:25:15.190435", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:25:15.185230", "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.003505", "end": "2025-12-19 17:24:49.107970", "msg": "", "rc": 0, "start": "2025-12-19 17:24:49.104465", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.005343", "end": "2025-12-19 17:25:15.418205", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.412862", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008514", "end": "2025-12-19 17:25:16.173726", "msg": "", "rc": 0, "start": "2025-12-19 17:25:16.165212", "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.026375", "end": "2025-12-19 17:25:15.396963", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.370588", "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.005313", "end": "2025-12-19 17:25:15.933612", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.928299", "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.005636", "end": "2025-12-19 17:25:15.956264", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.950628", "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.004878", "end": "2025-12-19 17:25:15.955620", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.950742", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.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.006562", "end": "2025-12-19 17:25:15.990054", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.983492", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003298", "end": "2025-12-19 17:25:15.993679", "msg": "", "rc": 0, "start": "2025-12-19 17:25:15.990381", "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.002436", "end": "2025-12-19 17:24:47.733609", "msg": "", "rc": 0, "start": "2025-12-19 17:24:47.731173", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003119", "end": "2025-12-19 17:24:40.565036", "msg": "", "rc": 0, "start": "2025-12-19 17:24:40.561917", "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.011811", "end": "2025-12-19 17:25:16.628726", "msg": "", "rc": 0, "start": "2025-12-19 17:25:16.616915", "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.012945", "end": "2025-12-19 17:25:16.665041", "msg": "", "rc": 0, "start": "2025-12-19 17:25:16.652096", "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.003111", "end": "2025-12-19 17:25:16.893706", "msg": "", "rc": 0, "start": "2025-12-19 17:25:16.890595", "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.002786", "end": "2025-12-19 17:24:43.727677", "msg": "", "rc": 0, "start": "2025-12-19 17:24:43.724891", "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.003907", "end": "2025-12-19 14:25:17.125399", "msg": "", "rc": 0, "start": "2025-12-19 14:25:17.121492", "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.002939", "end": "2025-12-19 17:24:51.056711", "msg": "", "rc": 0, "start": "2025-12-19 17:24:51.053772", "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.002872", "end": "2025-12-19 17:25:17.321261", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.318389", "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.004587", "end": "2025-12-19 17:25:18.286269", "msg": "", "rc": 0, "start": "2025-12-19 17:25:18.281682", "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.028823", "end": "2025-12-19 17:25:17.327964", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.299141", "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.004166", "end": "2025-12-19 17:25:17.848125", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.843959", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004019", "end": "2025-12-19 17:25:17.861981", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.857962", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004456", "end": "2025-12-19 17:25:17.870162", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.865706", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004945", "end": "2025-12-19 17:25:17.902220", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.897275", "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.005457", "end": "2025-12-19 17:25:17.916949", "msg": "", "rc": 0, "start": "2025-12-19 17:25:17.911492", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.004501", "end": "2025-12-19 17:24:49.646549", "msg": "", "rc": 0, "start": "2025-12-19 17:24:49.642048", "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.005537", "end": "2025-12-19 17:24:42.470177", "msg": "", "rc": 0, "start": "2025-12-19 17:24:42.464640", "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.010097", "end": "2025-12-19 17:25:18.614628", "msg": "", "rc": 0, "start": "2025-12-19 17:25:18.604531", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011039", "end": "2025-12-19 17:25:18.675196", "msg": "", "rc": 0, "start": "2025-12-19 17:25:18.664157", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
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.005614", "end": "2025-12-19 17:25:18.799603", "msg": "", "rc": 0, "start": "2025-12-19 17:25:18.793989", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005314", "end": "2025-12-19 17:24:45.650188", "msg": "", "rc": 0, "start": "2025-12-19 17:24:45.644874", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
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.004568", "end": "2025-12-19 17:24:53.045723", "msg": "", "rc": 0, "start": "2025-12-19 17:24:53.041155", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006507", "end": "2025-12-19 14:25:19.139367", "msg": "", "rc": 0, "start": "2025-12-19 14:25:19.132860", "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.005281", "end": "2025-12-19 17:25:19.228893", "msg": "", "rc": 0, "start": "2025-12-19 17:25:19.223612", "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.007919", "end": "2025-12-19 17:25:20.416183", "msg": "", "rc": 0, "start": "2025-12-19 17:25:20.408264", "stderr": "", "stderr_lines": [], "stdout": "1.43", "stdout_lines": ["1.43"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024461", "end": "2025-12-19 17:25:19.236127", "msg": "", "rc": 0, "start": "2025-12-19 17:25:19.211666", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 8:09, 1 user, load average: 0.28, 0.18, 0.17\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.41\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 24 days, 4:16, 1 user, load average: 0.16, 0.07, 0.08\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.15\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 24 days, 4:36, 1 user, load average: 0.25, 0.40, 0.59\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.45\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 24 days, 5:49, 1 user, load average: 0.49, 0.53, 0.59\nDisk Usage: 14%\nMemory Usage: 59.4%\nCPU Load: 0.49\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 24 days, 6:35, 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: 17:25:11 up 17 days, 6:51, 1 user, load average: 0.15, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.8%\nCPU Load: 0.21\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 196 days, 8:58, 1 user, load average: 0.46, 0.48, 0.31\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.39\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:10 up 196 days, 8:58, 1 user, load average: 0.11, 0.14, 0.15\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.25\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:24:42 up 13 days, 5:14, 0 user, load average: 0.09, 0.08, 0.08\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:24:34 up 20 days, 1:26, 0 user, load average: 0.00, 0.00, 0.07\nDisk Usage: 25%\nMemory Usage: 65.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:11 up 8:08, 1 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.2%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:24:38 up 22 days, 20:18, 0 user, load average: 0.34, 0.43, 0.50\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.32\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:24:45 up 19 days, 6:40, 0 user, load average: 0.29, 0.27, 0.21\nDisk Usage: 76%\nMemory Usage: 58.7%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:25PM up 24 days, 4:14, 1 user, load averages: 0.11, 0.17, 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: 17:25:11 up 8:08, 1 user, load average: 0.00, 0.03, 0.06\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:25:12 up 3:36, 1 user, load average: 1.30, 1.17, 1.16\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-19T22:25:21.423743+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7096cdd621af4568985b07f288e8b831` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:30:00.007922+00:00 |
| **Fin** | 2025-12-19T22:30:21.325215+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003168", "end": "2025-12-19 17:30:09.634204", "msg": "", "rc": 0, "start": "2025-12-19 17:30:09.631036", "stderr": "", "stderr_lines": [], "stdout": " 17:30:09 up 24 days, 4:41, 1 user, load average: 0.87, 0.67, 0.66", "stdout_lines": [" 17:30:09 up 24 days, 4:41, 1 user, load average: 0.87, 0.67, 0.66"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003272", "end": "2025-12-19 17:30:09.631765", "msg": "", "rc": 0, "start": "2025-12-19 17:30:09.628493", "stderr": "", "stderr_lines": [], "stdout": " 17:30:09 up 24 days, 4:21, 1 user, load average: 0.12, 0.10, 0.09", "stdout_lines": [" 17:30:09 up 24 days, 4:21, 1 user, load average: 0.12, 0.10, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003536", "end": "2025-12-19 17:30:09.638618", "msg": "", "rc": 0, "start": "2025-12-19 17:30:09.635082", "stderr": "", "stderr_lines": [], "stdout": " 17:30:09 up 24 days, 6:40, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 17:30:09 up 24 days, 6:40, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002797", "end": "2025-12-19 17:30:09.662908", "msg": "", "rc": 0, "start": "2025-12-19 17:30:09.660111", "stderr": "", "stderr_lines": [], "stdout": " 17:30:09 up 8:14, 1 user, load average: 0.23, 0.15, 0.16", "stdout_lines": [" 17:30:09 up 8:14, 1 user, load average: 0.23, 0.15, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005546", "end": "2025-12-19 17:30:09.674331", "msg": "", "rc": 0, "start": "2025-12-19 17:30:09.668785", "stderr": "", "stderr_lines": [], "stdout": " 17:30:09 up 24 days, 5:54, 1 user, load average: 0.55, 0.52, 0.56", "stdout_lines": [" 17:30:09 up 24 days, 5:54, 1 user, load average: 0.55, 0.52, 0.56"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003451", "end": "2025-12-19 17:29:41.456798", "msg": "", "rc": 0, "start": "2025-12-19 17:29:41.453347", "stderr": "", "stderr_lines": [], "stdout": " 17:29:41 up 13 days, 5:19, 0 user, load average: 0.11, 0.10, 0.09", "stdout_lines": [" 17:29:41 up 13 days, 5:19, 0 user, load average: 0.11, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003488", "end": "2025-12-19 17:29:34.287867", "msg": "", "rc": 0, "start": "2025-12-19 17:29:34.284379", "stderr": "", "stderr_lines": [], "stdout": " 17:29:34 up 20 days, 1:31, 0 user, load average: 0.00, 0.00, 0.04", "stdout_lines": [" 17:29:34 up 20 days, 1:31, 0 user, load average: 0.00, 0.00, 0.04"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008378", "end": "2025-12-19 17:30:10.338642", "msg": "", "rc": 0, "start": "2025-12-19 17:30:10.330264", "stderr": "", "stderr_lines": [], "stdout": " 17:30:10 up 196 days, 9:03, 1 user, load average: 0.21, 0.15, 0.15", "stdout_lines": [" 17:30:10 up 196 days, 9:03, 1 user, load average: 0.21, 0.15, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009507", "end": "2025-12-19 17:30:10.355278", "msg": "", "rc": 0, "start": "2025-12-19 17:30:10.345771", "stderr": "", "stderr_lines": [], "stdout": " 17:30:10 up 196 days, 9:03, 1 user, load average: 0.43, 0.33, 0.28", "stdout_lines": [" 17:30:10 up 196 days, 9:03, 1 user, load average: 0.43, 0.33, 0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004424", "end": "2025-12-19 17:30:10.620234", "msg": "", "rc": 0, "start": "2025-12-19 17:30:10.615810", "stderr": "", "stderr_lines": [], "stdout": " 17:30:10 up 8:13, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 17:30:10 up 8:13, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004225", "end": "2025-12-19 14:30:10.812036", "msg": "", "rc": 0, "start": "2025-12-19 14:30:10.807811", "stderr": "", "stderr_lines": [], "stdout": " 2:30PM up 24 days, 4:19, 1 user, load averages: 0.21, 0.16, 0.18", "stdout_lines": [" 2:30PM up 24 days, 4:19, 1 user, load averages: 0.21, 0.16, 0.18"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003303", "end": "2025-12-19 17:29:37.475587", "msg": "", "rc": 0, "start": "2025-12-19 17:29:37.472284", "stderr": "", "stderr_lines": [], "stdout": " 17:29:37 up 22 days, 20:23, 0 user, load average: 0.53, 0.46, 0.48", "stdout_lines": [" 17:29:37 up 22 days, 20:23, 0 user, load average: 0.53, 0.46, 0.48"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002927", "end": "2025-12-19 17:29:44.749309", "msg": "", "rc": 0, "start": "2025-12-19 17:29:44.746382", "stderr": "", "stderr_lines": [], "stdout": " 17:29:44 up 19 days, 6:45, 0 user, load average: 0.13, 0.15, 0.17", "stdout_lines": [" 17:29:44 up 19 days, 6:45, 0 user, load average: 0.13, 0.15, 0.17"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003707", "end": "2025-12-19 17:30:11.043174", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.039467", "stderr": "", "stderr_lines": [], "stdout": " 17:30:11 up 8:13, 1 user, load average: 0.06, 0.03, 0.04", "stdout_lines": [" 17:30:11 up 8:13, 1 user, load average: 0.06, 0.03, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008149", "end": "2025-12-19 17:30:12.005482", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.997333", "stderr": "", "stderr_lines": [], "stdout": " 17:30:11 up 3:41, 1 user, load average: 1.29, 1.21, 1.18", "stdout_lines": [" 17:30:11 up 3:41, 1 user, load average: 1.29, 1.21, 1.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019362", "end": "2025-12-19 17:30:11.011983", "msg": "", "rc": 0, "start": "2025-12-19 17:30:10.992621", "stderr": "", "stderr_lines": [], "stdout": " 17:30:11 up 17 days, 6:56, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 17:30:11 up 17 days, 6:56, 1 user, load average: 0.23, 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.004247", "end": "2025-12-19 17:30:11.526462", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.522215", "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-19 17:30:11.539091", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.535017", "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.005081", "end": "2025-12-19 17:30:11.561433", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.556352", "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.005347", "end": "2025-12-19 17:30:11.582201", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.576854", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004771", "end": "2025-12-19 17:30:11.587013", "msg": "", "rc": 0, "start": "2025-12-19 17:30:11.582242", "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.005091", "end": "2025-12-19 17:29:43.351742", "msg": "", "rc": 0, "start": "2025-12-19 17:29:43.346651", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005076", "end": "2025-12-19 17:29:36.163001", "msg": "", "rc": 0, "start": "2025-12-19 17:29:36.157925", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011176", "end": "2025-12-19 17:30:12.309325", "msg": "", "rc": 0, "start": "2025-12-19 17:30:12.298149", "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.011424", "end": "2025-12-19 17:30:12.305823", "msg": "", "rc": 0, "start": "2025-12-19 17:30:12.294399", "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.005595", "end": "2025-12-19 17:30:12.523913", "msg": "", "rc": 0, "start": "2025-12-19 17:30:12.518318", "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.005341", "end": "2025-12-19 17:29:39.331870", "msg": "", "rc": 0, "start": "2025-12-19 17:29:39.326529", "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.005414", "end": "2025-12-19 14:30:12.774010", "msg": "", "rc": 0, "start": "2025-12-19 14:30:12.768596", "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.004785", "end": "2025-12-19 17:29:46.713589", "msg": "", "rc": 0, "start": "2025-12-19 17:29:46.708804", "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.005314", "end": "2025-12-19 17:30:12.952407", "msg": "", "rc": 0, "start": "2025-12-19 17:30:12.947093", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021212", "end": "2025-12-19 17:30:14.060501", "msg": "", "rc": 0, "start": "2025-12-19 17:30:14.039289", "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.024721", "end": "2025-12-19 17:30:12.924902", "msg": "", "rc": 0, "start": "2025-12-19 17:30:12.900181", "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.004183", "end": "2025-12-19 17:30:13.438559", "msg": "", "rc": 0, "start": "2025-12-19 17:30:13.434376", "stderr": "", "stderr_lines": [], "stdout": "76.4%", "stdout_lines": ["76.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.004107", "end": "2025-12-19 17:30:13.454341", "msg": "", "rc": 0, "start": "2025-12-19 17:30:13.450234", "stderr": "", "stderr_lines": [], "stdout": "14.5%", "stdout_lines": ["14.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.004728", "end": "2025-12-19 17:30:13.467325", "msg": "", "rc": 0, "start": "2025-12-19 17:30:13.462597", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005590", "end": "2025-12-19 17:30:13.497964", "msg": "", "rc": 0, "start": "2025-12-19 17:30:13.492374", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005289", "end": "2025-12-19 17:30:13.503260", "msg": "", "rc": 0, "start": "2025-12-19 17:30:13.497971", "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.004053", "end": "2025-12-19 17:29:45.272026", "msg": "", "rc": 0, "start": "2025-12-19 17:29:45.267973", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004688", "end": "2025-12-19 17:29:38.075593", "msg": "", "rc": 0, "start": "2025-12-19 17:29:38.070905", "stderr": "", "stderr_lines": [], "stdout": "65.7%", "stdout_lines": ["65.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.010925", "end": "2025-12-19 17:30:14.150106", "msg": "", "rc": 0, "start": "2025-12-19 17:30:14.139181", "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.012118", "end": "2025-12-19 17:30:14.185493", "msg": "", "rc": 0, "start": "2025-12-19 17:30:14.173375", "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.005762", "end": "2025-12-19 17:30:14.433082", "msg": "", "rc": 0, "start": "2025-12-19 17:30:14.427320", "stderr": "", "stderr_lines": [], "stdout": "17.3%", "stdout_lines": ["17.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.004047", "end": "2025-12-19 17:29:41.250835", "msg": "", "rc": 0, "start": "2025-12-19 17:29:41.246788", "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.005108", "end": "2025-12-19 14:30:14.634483", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:30:14.629375", "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.003609", "end": "2025-12-19 17:29:48.557145", "msg": "", "rc": 0, "start": "2025-12-19 17:29:48.553536", "stderr": "", "stderr_lines": [], "stdout": "57.3%", "stdout_lines": ["57.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.005352", "end": "2025-12-19 17:30:14.862655", "msg": "", "rc": 0, "start": "2025-12-19 17:30:14.857303", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.008932", "end": "2025-12-19 17:30:16.145215", "msg": "", "rc": 0, "start": "2025-12-19 17:30:16.136283", "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.025309", "end": "2025-12-19 17:30:14.842188", "msg": "", "rc": 0, "start": "2025-12-19 17:30:14.816879", "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.005361", "end": "2025-12-19 17:30:15.365972", "msg": "", "rc": 0, "start": "2025-12-19 17:30:15.360611", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005142", "end": "2025-12-19 17:30:15.380454", "msg": "", "rc": 0, "start": "2025-12-19 17:30:15.375312", "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.006072", "end": "2025-12-19 17:30:15.400486", "msg": "", "rc": 0, "start": "2025-12-19 17:30:15.394414", "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.003224", "end": "2025-12-19 17:30:15.416109", "msg": "", "rc": 0, "start": "2025-12-19 17:30:15.412885", "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.006873", "end": "2025-12-19 17:30:15.436988", "msg": "", "rc": 0, "start": "2025-12-19 17:30:15.430115", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002887", "end": "2025-12-19 17:29:47.167390", "msg": "", "rc": 0, "start": "2025-12-19 17:29:47.164503", "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.003017", "end": "2025-12-19 17:29:40.002139", "msg": "", "rc": 0, "start": "2025-12-19 17:29:39.999122", "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.011729", "end": "2025-12-19 17:30:16.069445", "msg": "", "rc": 0, "start": "2025-12-19 17:30:16.057716", "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.012928", "end": "2025-12-19 17:30:16.103288", "msg": "", "rc": 0, "start": "2025-12-19 17:30:16.090360", "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.003050", "end": "2025-12-19 17:30:16.313484", "msg": "", "rc": 0, "start": "2025-12-19 17:30:16.310434", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002966", "end": "2025-12-19 17:29:43.181270", "msg": "", "rc": 0, "start": "2025-12-19 17:29:43.178304", "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.002721", "end": "2025-12-19 17:29:50.473399", "msg": "", "rc": 0, "start": "2025-12-19 17:29:50.470678", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003908", "end": "2025-12-19 14:30:16.560225", "msg": "", "rc": 0, "start": "2025-12-19 14:30:16.556317", "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.002926", "end": "2025-12-19 17:30:16.728515", "msg": "", "rc": 0, "start": "2025-12-19 17:30:16.725589", "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.004569", "end": "2025-12-19 17:30:18.288942", "msg": "", "rc": 0, "start": "2025-12-19 17:30:18.284373", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028857", "end": "2025-12-19 17:30:16.775259", "msg": "", "rc": 0, "start": "2025-12-19 17:30:16.746402", "stderr": "", "stderr_lines": [], "stdout": "36.8°C", "stdout_lines": ["36.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.004213", "end": "2025-12-19 17:30:17.289844", "msg": "", "rc": 0, "start": "2025-12-19 17:30:17.285631", "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.003988", "end": "2025-12-19 17:30:17.312141", "msg": "", "rc": 0, "start": "2025-12-19 17:30:17.308153", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.005437", "end": "2025-12-19 17:30:17.338228", "msg": "", "rc": 0, "start": "2025-12-19 17:30:17.332791", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004463", "end": "2025-12-19 17:30:17.335444", "msg": "", "rc": 0, "start": "2025-12-19 17:30:17.330981", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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.005385", "end": "2025-12-19 17:30:17.352798", "msg": "", "rc": 0, "start": "2025-12-19 17:30:17.347413", "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.004254", "end": "2025-12-19 17:29:49.102165", "msg": "", "rc": 0, "start": "2025-12-19 17:29:49.097911", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005001", "end": "2025-12-19 17:29:41.912808", "msg": "", "rc": 0, "start": "2025-12-19 17:29:41.907807", "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.010158", "end": "2025-12-19 17:30:18.091814", "msg": "", "rc": 0, "start": "2025-12-19 17:30:18.081656", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011046", "end": "2025-12-19 17:30:18.107554", "msg": "", "rc": 0, "start": "2025-12-19 17:30:18.096508", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005659", "end": "2025-12-19 17:30:18.260096", "msg": "", "rc": 0, "start": "2025-12-19 17:30:18.254437", "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.004719", "end": "2025-12-19 17:29:45.081979", "msg": "", "rc": 0, "start": "2025-12-19 17:29:45.077260", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005939", "end": "2025-12-19 14:30:18.567789", "msg": "", "rc": 0, "start": "2025-12-19 14:30:18.561850", "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.004365", "end": "2025-12-19 17:29:52.501751", "msg": "", "rc": 0, "start": "2025-12-19 17:29:52.497386", "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.005293", "end": "2025-12-19 17:30:18.685312", "msg": "", "rc": 0, "start": "2025-12-19 17:30:18.680019", "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.008993", "end": "2025-12-19 17:30:20.378207", "msg": "", "rc": 0, "start": "2025-12-19 17:30:20.369214", "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.024367", "end": "2025-12-19 17:30:18.674738", "msg": "", "rc": 0, "start": "2025-12-19 17:30:18.650371", "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: 17:30:09 up 24 days, 4:21, 1 user, load average: 0.12, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 76.4%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:09 up 8:14, 1 user, load average: 0.23, 0.15, 0.16\nDisk Usage: 22%\nMemory Usage: 14.5%\nCPU Load: 0.22\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:09 up 24 days, 4:41, 1 user, load average: 0.87, 0.67, 0.66\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.73\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:09 up 24 days, 5:54, 1 user, load average: 0.55, 0.52, 0.56\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.76\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:09 up 24 days, 6: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: 17:30:11 up 17 days, 6:56, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.27\nCPU Temp: 36.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:10 up 196 days, 9:03, 1 user, load average: 0.43, 0.33, 0.28\nDisk Usage: 6%\nMemory Usage: 13.4%\nCPU Load: 0.44\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:10 up 196 days, 9:03, 1 user, load average: 0.21, 0.15, 0.15\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.26\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:29:41 up 13 days, 5:19, 0 user, load average: 0.11, 0.10, 0.09\nDisk Usage: 50%\nMemory Usage: 70.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:29:34 up 20 days, 1:31, 0 user, load average: 0.00, 0.00, 0.04\nDisk Usage: 25%\nMemory Usage: 65.7%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:10 up 8:13, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 17.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:29:37 up 22 days, 20:23, 0 user, load average: 0.53, 0.46, 0.48\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:29:44 up 19 days, 6:45, 0 user, load average: 0.13, 0.15, 0.17\nDisk Usage: 76%\nMemory Usage: 57.3%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:30PM up 24 days, 4:19, 1 user, load averages: 0.21, 0.16, 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: 17:30:11 up 8:13, 1 user, load average: 0.06, 0.03, 0.04\nDisk Usage: 79%\nMemory Usage: 13.1%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:30:11 up 3:41, 1 user, load average: 1.29, 1.21, 1.18\nDisk Usage: 1%\nMemory Usage: 13.0%\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-19T22:30:21.378049+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e9d240e1cbf94adabd1e19673b3b1248` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:35:00.000810+00:00 |
| **Fin** | 2025-12-19T22:35:21.537198+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [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.003306", "end": "2025-12-19 17:35:10.060331", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.057025", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 24 days, 4:26, 1 user, load average: 0.10, 0.08, 0.09", "stdout_lines": [" 17:35:10 up 24 days, 4:26, 1 user, load average: 0.10, 0.08, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003621", "end": "2025-12-19 17:35:10.066088", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.062467", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 24 days, 6:45, 1 user, load average: 0.12, 0.03, 0.01", "stdout_lines": [" 17:35:10 up 24 days, 6:45, 1 user, load average: 0.12, 0.03, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003428", "end": "2025-12-19 17:35:10.082163", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.078735", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 24 days, 4:46, 1 user, load average: 0.42, 0.62, 0.64", "stdout_lines": [" 17:35:10 up 24 days, 4:46, 1 user, load average: 0.42, 0.62, 0.64"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002868", "end": "2025-12-19 17:35:10.094611", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.091743", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 8:19, 1 user, load average: 0.27, 0.29, 0.22", "stdout_lines": [" 17:35:10 up 8:19, 1 user, load average: 0.27, 0.29, 0.22"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004018", "end": "2025-12-19 17:35:10.099776", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.095758", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 24 days, 5:59, 1 user, load average: 0.59, 0.54, 0.55", "stdout_lines": [" 17:35:10 up 24 days, 5:59, 1 user, load average: 0.59, 0.54, 0.55"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002970", "end": "2025-12-19 17:34:41.869744", "msg": "", "rc": 0, "start": "2025-12-19 17:34:41.866774", "stderr": "", "stderr_lines": [], "stdout": " 17:34:41 up 13 days, 5:24, 0 user, load average: 0.56, 0.27, 0.15", "stdout_lines": [" 17:34:41 up 13 days, 5:24, 0 user, load average: 0.56, 0.27, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003746", "end": "2025-12-19 17:34:34.696560", "msg": "", "rc": 0, "start": "2025-12-19 17:34:34.692814", "stderr": "", "stderr_lines": [], "stdout": " 17:34:34 up 20 days, 1:36, 0 user, load average: 0.08, 0.02, 0.03", "stdout_lines": [" 17:34:34 up 20 days, 1:36, 0 user, load average: 0.08, 0.02, 0.03"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008480", "end": "2025-12-19 17:35:10.740174", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.731694", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 196 days, 9:08, 1 user, load average: 0.16, 0.15, 0.15", "stdout_lines": [" 17:35:10 up 196 days, 9:08, 1 user, load average: 0.16, 0.15, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009217", "end": "2025-12-19 17:35:10.776328", "msg": "", "rc": 0, "start": "2025-12-19 17:35:10.767111", "stderr": "", "stderr_lines": [], "stdout": " 17:35:10 up 196 days, 9:08, 1 user, load average: 0.29, 0.25, 0.26", "stdout_lines": [" 17:35:10 up 196 days, 9:08, 1 user, load average: 0.29, 0.25, 0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004530", "end": "2025-12-19 17:35:11.045305", "msg": "", "rc": 0, "start": "2025-12-19 17:35:11.040775", "stderr": "", "stderr_lines": [], "stdout": " 17:35:11 up 8:18, 1 user, load average: 0.15, 0.04, 0.01", "stdout_lines": [" 17:35:11 up 8:18, 1 user, load average: 0.15, 0.04, 0.01"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004219", "end": "2025-12-19 14:35:11.233244", "msg": "", "rc": 0, "start": "2025-12-19 14:35:11.229025", "stderr": "", "stderr_lines": [], "stdout": " 2:35PM up 24 days, 4:24, 1 user, load averages: 0.11, 0.15, 0.16", "stdout_lines": [" 2:35PM up 24 days, 4:24, 1 user, load averages: 0.11, 0.15, 0.16"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003422", "end": "2025-12-19 17:34:37.890126", "msg": "", "rc": 0, "start": "2025-12-19 17:34:37.886704", "stderr": "", "stderr_lines": [], "stdout": " 17:34:37 up 22 days, 20:28, 0 user, load average: 0.51, 0.41, 0.45", "stdout_lines": [" 17:34:37 up 22 days, 20:28, 0 user, load average: 0.51, 0.41, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003635", "end": "2025-12-19 17:34:45.152146", "msg": "", "rc": 0, "start": "2025-12-19 17:34:45.148511", "stderr": "", "stderr_lines": [], "stdout": " 17:34:45 up 19 days, 6:50, 0 user, load average: 0.39, 0.23, 0.19", "stdout_lines": [" 17:34:45 up 19 days, 6:50, 0 user, load average: 0.39, 0.23, 0.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003733", "end": "2025-12-19 17:35:11.470835", "msg": "", "rc": 0, "start": "2025-12-19 17:35:11.467102", "stderr": "", "stderr_lines": [], "stdout": " 17:35:11 up 8:18, 1 user, load average: 0.01, 0.05, 0.05", "stdout_lines": [" 17:35:11 up 8:18, 1 user, load average: 0.01, 0.05, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009555", "end": "2025-12-19 17:35:12.202203", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.192648", "stderr": "", "stderr_lines": [], "stdout": " 17:35:12 up 3:47, 1 user, load average: 1.59, 1.20, 1.17", "stdout_lines": [" 17:35:12 up 3:47, 1 user, load average: 1.59, 1.20, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019778", "end": "2025-12-19 17:35:11.431736", "msg": "", "rc": 0, "start": "2025-12-19 17:35:11.411958", "stderr": "", "stderr_lines": [], "stdout": " 17:35:11 up 17 days, 7:01, 1 user, load average: 0.23, 0.15, 0.10", "stdout_lines": [" 17:35:11 up 17 days, 7:01, 1 user, load average: 0.23, 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.004309", "end": "2025-12-19 17:35:11.963946", "msg": "", "rc": 0, "start": "2025-12-19 17:35:11.959637", "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.004186", "end": "2025-12-19 17:35:11.993893", "msg": "", "rc": 0, "start": "2025-12-19 17:35:11.989707", "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.004789", "end": "2025-12-19 17:35:11.996829", "msg": "", "rc": 0, "start": "2025-12-19 17:35:11.992040", "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.005212", "end": "2025-12-19 17:35:12.021504", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.016292", "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.005550", "end": "2025-12-19 17:35:12.043287", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.037737", "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.005382", "end": "2025-12-19 17:34:43.759785", "msg": "", "rc": 0, "start": "2025-12-19 17:34:43.754403", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005703", "end": "2025-12-19 17:34:36.629684", "msg": "", "rc": 0, "start": "2025-12-19 17:34:36.623981", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010491", "end": "2025-12-19 17:35:12.702562", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.692071", "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.011847", "end": "2025-12-19 17:35:12.741434", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.729587", "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.005761", "end": "2025-12-19 17:35:12.919770", "msg": "", "rc": 0, "start": "2025-12-19 17:35:12.914009", "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.005347", "end": "2025-12-19 17:34:39.805122", "msg": "", "rc": 0, "start": "2025-12-19 17:34:39.799775", "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.005463", "end": "2025-12-19 14:35:13.203965", "msg": "", "rc": 0, "start": "2025-12-19 14:35:13.198502", "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.005013", "end": "2025-12-19 17:34:47.130675", "msg": "", "rc": 0, "start": "2025-12-19 17:34:47.125662", "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.006067", "end": "2025-12-19 17:35:13.346436", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.340369", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022362", "end": "2025-12-19 17:35:14.323954", "msg": "", "rc": 0, "start": "2025-12-19 17:35:14.301592", "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.025611", "end": "2025-12-19 17:35:13.341893", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.316282", "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.004116", "end": "2025-12-19 17:35:13.863844", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.859728", "stderr": "", "stderr_lines": [], "stdout": "76.6%", "stdout_lines": ["76.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.004320", "end": "2025-12-19 17:35:13.865660", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.861340", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004806", "end": "2025-12-19 17:35:13.892098", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.887292", "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.005014", "end": "2025-12-19 17:35:13.922272", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.917258", "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.005527", "end": "2025-12-19 17:35:13.937830", "msg": "", "rc": 0, "start": "2025-12-19 17:35:13.932303", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003850", "end": "2025-12-19 17:34:45.655782", "msg": "", "rc": 0, "start": "2025-12-19 17:34:45.651932", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004041", "end": "2025-12-19 17:34:38.504896", "msg": "", "rc": 0, "start": "2025-12-19 17:34:38.500855", "stderr": "", "stderr_lines": [], "stdout": "65.8%", "stdout_lines": ["65.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.010866", "end": "2025-12-19 17:35:14.548883", "msg": "", "rc": 0, "start": "2025-12-19 17:35:14.538017", "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.012349", "end": "2025-12-19 17:35:14.572438", "msg": "", "rc": 0, "start": "2025-12-19 17:35:14.560089", "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.005695", "end": "2025-12-19 17:35:14.814493", "msg": "", "rc": 0, "start": "2025-12-19 17:35:14.808798", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004432", "end": "2025-12-19 17:34:41.662195", "msg": "", "rc": 0, "start": "2025-12-19 17:34:41.657763", "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.005112", "end": "2025-12-19 14:35:15.028402", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:35:15.023290", "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.003747", "end": "2025-12-19 17:34:48.949261", "msg": "", "rc": 0, "start": "2025-12-19 17:34:48.945514", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.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.005571", "end": "2025-12-19 17:35:15.231195", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.225624", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.008971", "end": "2025-12-19 17:35:16.357528", "msg": "", "rc": 0, "start": "2025-12-19 17:35:16.348557", "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.025734", "end": "2025-12-19 17:35:15.244937", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.219203", "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.005272", "end": "2025-12-19 17:35:15.768480", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.763208", "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.005001", "end": "2025-12-19 17:35:15.788173", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.783172", "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.006556", "end": "2025-12-19 17:35:15.795028", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.788472", "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.003244", "end": "2025-12-19 17:35:15.824693", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.821449", "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.006869", "end": "2025-12-19 17:35:15.827809", "msg": "", "rc": 0, "start": "2025-12-19 17:35:15.820940", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002560", "end": "2025-12-19 17:34:47.561569", "msg": "", "rc": 0, "start": "2025-12-19 17:34:47.559009", "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.003124", "end": "2025-12-19 17:34:40.395716", "msg": "", "rc": 0, "start": "2025-12-19 17:34:40.392592", "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.011805", "end": "2025-12-19 17:35:16.466073", "msg": "", "rc": 0, "start": "2025-12-19 17:35:16.454268", "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.012945", "end": "2025-12-19 17:35:16.505936", "msg": "", "rc": 0, "start": "2025-12-19 17:35:16.492991", "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.003104", "end": "2025-12-19 17:35:16.706332", "msg": "", "rc": 0, "start": "2025-12-19 17:35:16.703228", "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.002941", "end": "2025-12-19 17:34:43.569351", "msg": "", "rc": 0, "start": "2025-12-19 17:34:43.566410", "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.002539", "end": "2025-12-19 17:34:50.865620", "msg": "", "rc": 0, "start": "2025-12-19 17:34:50.863081", "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.003850", "end": "2025-12-19 14:35:16.972940", "msg": "", "rc": 0, "start": "2025-12-19 14:35:16.969090", "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.003472", "end": "2025-12-19 17:35:17.136782", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.133310", "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.004120", "end": "2025-12-19 17:35:18.423411", "msg": "", "rc": 0, "start": "2025-12-19 17:35:18.419291", "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.028521", "end": "2025-12-19 17:35:17.158022", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.129501", "stderr": "", "stderr_lines": [], "stdout": "36.8°C", "stdout_lines": ["36.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.004232", "end": "2025-12-19 17:35:17.678427", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.674195", "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.004121", "end": "2025-12-19 17:35:17.700603", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.696482", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004628", "end": "2025-12-19 17:35:17.710803", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.706175", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005819", "end": "2025-12-19 17:35:17.736678", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.730859", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
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.005132", "end": "2025-12-19 17:35:17.742627", "msg": "", "rc": 0, "start": "2025-12-19 17:35:17.737495", "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.004612", "end": "2025-12-19 17:34:49.471308", "msg": "", "rc": 0, "start": "2025-12-19 17:34:49.466696", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
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.005620", "end": "2025-12-19 17:34:42.321121", "msg": "", "rc": 0, "start": "2025-12-19 17:34:42.315501", "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.010018", "end": "2025-12-19 17:35:18.447355", "msg": "", "rc": 0, "start": "2025-12-19 17:35:18.437337", "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.011190", "end": "2025-12-19 17:35:18.526926", "msg": "", "rc": 0, "start": "2025-12-19 17:35:18.515736", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005545", "end": "2025-12-19 17:35:18.606856", "msg": "", "rc": 0, "start": "2025-12-19 17:35:18.601311", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005183", "end": "2025-12-19 17:34:45.513472", "msg": "", "rc": 0, "start": "2025-12-19 17:34:45.508289", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
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.004247", "end": "2025-12-19 17:34:52.868673", "msg": "", "rc": 0, "start": "2025-12-19 17:34:52.864426", "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.006014", "end": "2025-12-19 14:35:18.993104", "msg": "", "rc": 0, "start": "2025-12-19 14:35:18.987090", "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.005258", "end": "2025-12-19 17:35:19.046292", "msg": "", "rc": 0, "start": "2025-12-19 17:35:19.041034", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009071", "end": "2025-12-19 17:35:20.597874", "msg": "", "rc": 0, "start": "2025-12-19 17:35:20.588803", "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.024594", "end": "2025-12-19 17:35:19.067372", "msg": "", "rc": 0, "start": "2025-12-19 17:35:19.042778", "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: 17:35:10 up 8:19, 1 user, load average: 0.27, 0.29, 0.22\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.25\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:10 up 24 days, 4:26, 1 user, load average: 0.10, 0.08, 0.09\nDisk Usage: 23%\nMemory Usage: 76.6%\nCPU Load: 0.17\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:10 up 24 days, 4:46, 1 user, load average: 0.42, 0.62, 0.64\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.44\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:10 up 24 days, 5:59, 1 user, load average: 0.59, 0.54, 0.55\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.73\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:10 up 24 days, 6:45, 1 user, load average: 0.12, 0.03, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:11 up 17 days, 7:01, 1 user, load average: 0.23, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.27\nCPU Temp: 36.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:10 up 196 days, 9:08, 1 user, load average: 0.29, 0.25, 0.26\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.32\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:10 up 196 days, 9:08, 1 user, load average: 0.16, 0.15, 0.15\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.22\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:34:41 up 13 days, 5:24, 0 user, load average: 0.56, 0.27, 0.15\nDisk Usage: 50%\nMemory Usage: 70.3%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:34:34 up 20 days, 1:36, 0 user, load average: 0.08, 0.02, 0.03\nDisk Usage: 25%\nMemory Usage: 65.8%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:11 up 8:18, 1 user, load average: 0.15, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:34:37 up 22 days, 20:28, 0 user, load average: 0.51, 0.41, 0.45\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:34:45 up 19 days, 6:50, 0 user, load average: 0.39, 0.23, 0.19\nDisk Usage: 76%\nMemory Usage: 59.8%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:35PM up 24 days, 4:24, 1 user, load averages: 0.11, 0.15, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:11 up 8:18, 1 user, load average: 0.01, 0.05, 0.05\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:35:12 up 3:47, 1 user, load average: 1.59, 1.20, 1.17\nDisk Usage: 1%\nMemory Usage: 12.9%\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-19T22:35:21.587984+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `bda963588d9044ab9a58c5609a6291da` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-19T22:40:00.006894+00:00 |
| **Fin** | 2025-12-19T22:40:25.222404+00:00 |
| **Durée** | 25.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [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.003729", "end": "2025-12-19 17:40:11.025578", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.021849", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 24 days, 6:50, 1 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 17:40:11 up 24 days, 6:50, 1 user, load average: 0.08, 0.03, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003283", "end": "2025-12-19 17:40:11.033454", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.030171", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 24 days, 4:51, 1 user, load average: 1.01, 0.65, 0.63", "stdout_lines": [" 17:40:11 up 24 days, 4:51, 1 user, load average: 1.01, 0.65, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002933", "end": "2025-12-19 17:40:11.057390", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.054457", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 8:24, 1 user, load average: 0.32, 0.26, 0.21", "stdout_lines": [" 17:40:11 up 8:24, 1 user, load average: 0.32, 0.26, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004164", "end": "2025-12-19 17:40:11.059184", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.055020", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 24 days, 6:04, 1 user, load average: 0.76, 0.63, 0.57", "stdout_lines": [" 17:40:11 up 24 days, 6:04, 1 user, load average: 0.76, 0.63, 0.57"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003366", "end": "2025-12-19 17:39:42.857307", "msg": "", "rc": 0, "start": "2025-12-19 17:39:42.853941", "stderr": "", "stderr_lines": [], "stdout": " 17:39:42 up 13 days, 5:29, 0 user, load average: 0.23, 0.24, 0.16", "stdout_lines": [" 17:39:42 up 13 days, 5:29, 0 user, load average: 0.23, 0.24, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008271", "end": "2025-12-19 17:40:11.791964", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.783693", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 196 days, 9:13, 1 user, load average: 0.15, 0.13, 0.14", "stdout_lines": [" 17:40:11 up 196 days, 9:13, 1 user, load average: 0.15, 0.13, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009197", "end": "2025-12-19 17:40:11.791752", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.782555", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 196 days, 9:13, 1 user, load average: 0.36, 0.28, 0.27", "stdout_lines": [" 17:40:11 up 196 days, 9:13, 1 user, load average: 0.36, 0.28, 0.27"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004330", "end": "2025-12-19 17:40:12.012773", "msg": "", "rc": 0, "start": "2025-12-19 17:40:11.008443", "stderr": "", "stderr_lines": [], "stdout": " 17:40:11 up 24 days, 4:31, 1 user, load average: 0.13, 0.10, 0.09", "stdout_lines": [" 17:40:11 up 24 days, 4:31, 1 user, load average: 0.13, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003281", "end": "2025-12-19 17:39:36.201050", "msg": "", "rc": 0, "start": "2025-12-19 17:39:36.197769", "stderr": "", "stderr_lines": [], "stdout": " 17:39:36 up 20 days, 1:41, 0 user, load average: 0.17, 0.08, 0.04", "stdout_lines": [" 17:39:36 up 20 days, 1:41, 0 user, load average: 0.17, 0.08, 0.04"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004532", "end": "2025-12-19 17:40:12.348021", "msg": "", "rc": 0, "start": "2025-12-19 17:40:12.343489", "stderr": "", "stderr_lines": [], "stdout": " 17:40:12 up 8:23, 1 user, load average: 0.01, 0.03, 0.00", "stdout_lines": [" 17:40:12 up 8:23, 1 user, load average: 0.01, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003595", "end": "2025-12-19 17:39:39.146315", "msg": "", "rc": 0, "start": "2025-12-19 17:39:39.142720", "stderr": "", "stderr_lines": [], "stdout": " 17:39:39 up 22 days, 20:33, 0 user, load average: 0.59, 0.54, 0.50", "stdout_lines": [" 17:39:39 up 22 days, 20:33, 0 user, load average: 0.59, 0.54, 0.50"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003310", "end": "2025-12-19 17:39:46.462374", "msg": "", "rc": 0, "start": "2025-12-19 17:39:46.459064", "stderr": "", "stderr_lines": [], "stdout": " 17:39:46 up 19 days, 6:55, 0 user, load average: 0.27, 0.23, 0.19", "stdout_lines": [" 17:39:46 up 19 days, 6:55, 0 user, load average: 0.27, 0.23, 0.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019328", "end": "2025-12-19 17:40:12.448470", "msg": "", "rc": 0, "start": "2025-12-19 17:40:12.429142", "stderr": "", "stderr_lines": [], "stdout": " 17:40:12 up 17 days, 7:06, 1 user, load average: 0.49, 0.20, 0.12", "stdout_lines": [" 17:40:12 up 17 days, 7:06, 1 user, load average: 0.49, 0.20, 0.12"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004194", "end": "2025-12-19 14:40:12.673812", "msg": "", "rc": 0, "start": "2025-12-19 14:40:12.669618", "stderr": "", "stderr_lines": [], "stdout": " 2:40PM up 24 days, 4:30, 1 user, load averages: 0.26, 0.29, 0.22", "stdout_lines": [" 2:40PM up 24 days, 4:30, 1 user, load averages: 0.26, 0.29, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003715", "end": "2025-12-19 17:40:12.877496", "msg": "", "rc": 0, "start": "2025-12-19 17:40:12.873781", "stderr": "", "stderr_lines": [], "stdout": " 17:40:12 up 8:23, 1 user, load average: 0.00, 0.02, 0.02", "stdout_lines": [" 17:40:12 up 8:23, 1 user, load average: 0.00, 0.02, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009294", "end": "2025-12-19 17:40:14.278285", "msg": "", "rc": 0, "start": "2025-12-19 17:40:14.268991", "stderr": "", "stderr_lines": [], "stdout": " 17:40:14 up 3:52, 1 user, load average: 1.96, 1.37, 1.24", "stdout_lines": [" 17:40:14 up 3:52, 1 user, load average: 1.96, 1.37, 1.24"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004232", "end": "2025-12-19 17:40:13.424233", "msg": "", "rc": 0, "start": "2025-12-19 17:40:13.420001", "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.004068", "end": "2025-12-19 17:40:13.422301", "msg": "", "rc": 0, "start": "2025-12-19 17:40:13.418233", "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.004579", "end": "2025-12-19 17:40:13.473142", "msg": "", "rc": 0, "start": "2025-12-19 17:40:13.468563", "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-19 17:40:13.504657", "msg": "", "rc": 0, "start": "2025-12-19 17:40:13.499937", "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.005624", "end": "2025-12-19 17:40:13.529233", "msg": "", "rc": 0, "start": "2025-12-19 17:40:13.523609", "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.005095", "end": "2025-12-19 17:39:45.341211", "msg": "", "rc": 0, "start": "2025-12-19 17:39:45.336116", "stderr": "", "stderr_lines": [], "stdout": "50%", "stdout_lines": ["50%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005545", "end": "2025-12-19 17:39:38.194836", "msg": "", "rc": 0, "start": "2025-12-19 17:39:38.189291", "stderr": "", "stderr_lines": [], "stdout": "25%", "stdout_lines": ["25%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010342", "end": "2025-12-19 17:40:14.314788", "msg": "", "rc": 0, "start": "2025-12-19 17:40:14.304446", "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.011596", "end": "2025-12-19 17:40:14.342934", "msg": "", "rc": 0, "start": "2025-12-19 17:40:14.331338", "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.006031", "end": "2025-12-19 17:40:14.588148", "msg": "", "rc": 0, "start": "2025-12-19 17:40:14.582117", "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.005433", "end": "2025-12-19 17:39:41.443040", "msg": "", "rc": 0, "start": "2025-12-19 17:39:41.437607", "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.005580", "end": "2025-12-19 14:40:14.883725", "msg": "", "rc": 0, "start": "2025-12-19 14:40:14.878145", "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.004741", "end": "2025-12-19 17:39:48.798693", "msg": "", "rc": 0, "start": "2025-12-19 17:39:48.793952", "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.025244", "end": "2025-12-19 17:40:14.874769", "msg": "", "rc": 0, "start": "2025-12-19 17:40:14.849525", "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.005362", "end": "2025-12-19 17:40:15.084395", "msg": "", "rc": 0, "start": "2025-12-19 17:40:15.079033", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023044", "end": "2025-12-19 17:40:16.854052", "msg": "", "rc": 0, "start": "2025-12-19 17:40:16.831008", "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.004419", "end": "2025-12-19 17:40:15.770184", "msg": "", "rc": 0, "start": "2025-12-19 17:40:15.765765", "stderr": "", "stderr_lines": [], "stdout": "76.5%", "stdout_lines": ["76.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.004084", "end": "2025-12-19 17:40:15.778374", "msg": "", "rc": 0, "start": "2025-12-19 17:40:15.774290", "stderr": "", "stderr_lines": [], "stdout": "14.6%", "stdout_lines": ["14.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.004890", "end": "2025-12-19 17:40:15.798945", "msg": "", "rc": 0, "start": "2025-12-19 17:40:15.794055", "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.005193", "end": "2025-12-19 17:40:15.830766", "msg": "", "rc": 0, "start": "2025-12-19 17:40:15.825573", "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.005713", "end": "2025-12-19 17:40:15.847659", "msg": "", "rc": 0, "start": "2025-12-19 17:40:15.841946", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003965", "end": "2025-12-19 17:39:47.621497", "msg": "", "rc": 0, "start": "2025-12-19 17:39:47.617532", "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.004426", "end": "2025-12-19 17:39:40.451981", "msg": "", "rc": 0, "start": "2025-12-19 17:39:40.447555", "stderr": "", "stderr_lines": [], "stdout": "65.9%", "stdout_lines": ["65.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.010944", "end": "2025-12-19 17:40:16.546638", "msg": "", "rc": 0, "start": "2025-12-19 17:40:16.535694", "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.011908", "end": "2025-12-19 17:40:16.560861", "msg": "", "rc": 0, "start": "2025-12-19 17:40:16.548953", "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.006959", "end": "2025-12-19 17:40:16.874919", "msg": "", "rc": 0, "start": "2025-12-19 17:40:16.867960", "stderr": "", "stderr_lines": [], "stdout": "17.0%", "stdout_lines": ["17.0%"]}
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.004195", "end": "2025-12-19 17:39:43.680155", "msg": "", "rc": 0, "start": "2025-12-19 17:39:43.675960", "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.005314", "end": "2025-12-19 14:40:17.109563", "msg": "non-zero return code", "rc": 2, "start": "2025-12-19 14:40:17.104249", "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.003747", "end": "2025-12-19 17:39:51.025364", "msg": "", "rc": 0, "start": "2025-12-19 17:39:51.021617", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.025944", "end": "2025-12-19 17:40:17.194869", "msg": "", "rc": 0, "start": "2025-12-19 17:40:17.168925", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.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.005638", "end": "2025-12-19 17:40:17.386674", "msg": "", "rc": 0, "start": "2025-12-19 17:40:17.381036", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.024114", "end": "2025-12-19 17:40:19.224259", "msg": "", "rc": 0, "start": "2025-12-19 17:40:19.200145", "stderr": "", "stderr_lines": [], "stdout": "12.4%", "stdout_lines": ["12.4%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004914", "end": "2025-12-19 17:40:17.973109", "msg": "", "rc": 0, "start": "2025-12-19 17:40:17.968195", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005345", "end": "2025-12-19 17:40:17.983574", "msg": "", "rc": 0, "start": "2025-12-19 17:40:17.978229", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003434", "end": "2025-12-19 17:40:18.031324", "msg": "", "rc": 0, "start": "2025-12-19 17:40:18.027890", "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.006762", "end": "2025-12-19 17:40:18.046195", "msg": "", "rc": 0, "start": "2025-12-19 17:40:18.039433", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.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.005355", "end": "2025-12-19 17:40:18.062180", "msg": "", "rc": 0, "start": "2025-12-19 17:40:18.056825", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002983", "end": "2025-12-19 17:39:49.876228", "msg": "", "rc": 0, "start": "2025-12-19 17:39:49.873245", "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-19 17:39:42.700993", "msg": "", "rc": 0, "start": "2025-12-19 17:39:42.697771", "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-19 17:40:18.779626", "msg": "", "rc": 0, "start": "2025-12-19 17:40:18.767863", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012925", "end": "2025-12-19 17:40:18.827869", "msg": "", "rc": 0, "start": "2025-12-19 17:40:18.814944", "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.003264", "end": "2025-12-19 17:40:19.073330", "msg": "", "rc": 0, "start": "2025-12-19 17:40:19.070066", "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.003093", "end": "2025-12-19 17:39:45.900141", "msg": "", "rc": 0, "start": "2025-12-19 17:39:45.897048", "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.003870", "end": "2025-12-19 14:40:19.350147", "msg": "", "rc": 0, "start": "2025-12-19 14:40:19.346277", "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.002975", "end": "2025-12-19 17:39:53.265987", "msg": "", "rc": 0, "start": "2025-12-19 17:39:53.263012", "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.003514", "end": "2025-12-19 17:40:19.585469", "msg": "", "rc": 0, "start": "2025-12-19 17:40:19.581955", "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.028587", "end": "2025-12-19 17:40:19.458327", "msg": "", "rc": 0, "start": "2025-12-19 17:40:19.429740", "stderr": "", "stderr_lines": [], "stdout": "36.3°C", "stdout_lines": ["36.3°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.004491", "end": "2025-12-19 17:40:21.676622", "msg": "", "rc": 0, "start": "2025-12-19 17:40:21.672131", "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.004135", "end": "2025-12-19 17:40:20.134132", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.129997", "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.004171", "end": "2025-12-19 17:40:20.136518", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.132347", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
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.005281", "end": "2025-12-19 17:40:20.181784", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.176503", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004578", "end": "2025-12-19 17:40:20.181101", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.176523", "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.005481", "end": "2025-12-19 17:40:20.200406", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.194925", "stderr": "", "stderr_lines": [], "stdout": "0.95", "stdout_lines": ["0.95"]}
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.004475", "end": "2025-12-19 17:39:51.998545", "msg": "", "rc": 0, "start": "2025-12-19 17:39:51.994070", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005167", "end": "2025-12-19 17:39:44.774439", "msg": "", "rc": 0, "start": "2025-12-19 17:39:44.769272", "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.010135", "end": "2025-12-19 17:40:20.981630", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.971495", "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.011141", "end": "2025-12-19 17:40:20.979622", "msg": "", "rc": 0, "start": "2025-12-19 17:40:20.968481", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005561", "end": "2025-12-19 17:40:21.213288", "msg": "", "rc": 0, "start": "2025-12-19 17:40:21.207727", "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.004981", "end": "2025-12-19 17:39:47.967198", "msg": "", "rc": 0, "start": "2025-12-19 17:39:47.962217", "stderr": "", "stderr_lines": [], "stdout": "0.58", "stdout_lines": ["0.58"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005952", "end": "2025-12-19 14:40:21.543076", "msg": "", "rc": 0, "start": "2025-12-19 14:40:21.537124", "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.004409", "end": "2025-12-19 17:39:55.450176", "msg": "", "rc": 0, "start": "2025-12-19 17:39:55.445767", "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.005254", "end": "2025-12-19 17:40:21.693170", "msg": "", "rc": 0, "start": "2025-12-19 17:40:21.687916", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024471", "end": "2025-12-19 17:40:21.561341", "msg": "", "rc": 0, "start": "2025-12-19 17:40:21.536870", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.010319", "end": "2025-12-19 17:40:23.948811", "msg": "", "rc": 0, "start": "2025-12-19 17:40:23.938492", "stderr": "", "stderr_lines": [], "stdout": "2.12", "stdout_lines": ["2.12"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 24 days, 4:31, 1 user, load average: 0.13, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 76.5%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 8:24, 1 user, load average: 0.32, 0.26, 0.21\nDisk Usage: 22%\nMemory Usage: 14.6%\nCPU Load: 0.66\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 24 days, 4:51, 1 user, load average: 1.01, 0.65, 0.63\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.85\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 24 days, 6:04, 1 user, load average: 0.76, 0.63, 0.57\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.95\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 24 days, 6:50, 1 user, load average: 0.08, 0.03, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:12 up 17 days, 7:06, 1 user, load average: 0.49, 0.20, 0.12\nDisk Usage: 21%\nMemory Usage: 20.8%\nCPU Load: 0.42\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 196 days, 9:13, 1 user, load average: 0.36, 0.28, 0.27\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.39\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:11 up 196 days, 9:13, 1 user, load average: 0.15, 0.13, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.13\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:39:42 up 13 days, 5:29, 0 user, load average: 0.23, 0.24, 0.16\nDisk Usage: 50%\nMemory Usage: 70.6%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:39:36 up 20 days, 1:41, 0 user, load average: 0.17, 0.08, 0.04\nDisk Usage: 25%\nMemory Usage: 65.9%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:12 up 8:23, 1 user, load average: 0.01, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 17.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:39:39 up 22 days, 20:33, 0 user, load average: 0.59, 0.54, 0.50\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.58\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:39:46 up 19 days, 6:55, 0 user, load average: 0.27, 0.23, 0.19\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 2:40PM up 24 days, 4:30, 1 user, load averages: 0.26, 0.29, 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: 17:40:12 up 8:23, 1 user, load average: 0.00, 0.02, 0.02\nDisk Usage: 79%\nMemory Usage: 13.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 17:40:14 up 3:52, 1 user, load average: 1.96, 1.37, 1.24\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 2.12\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-19T22:40:25.292581+00:00*

Some files were not shown because too many files have changed in this diff Show More