Add container summary on card face, fix df parsing for wrapped lines, collect OS info, faster startup and refresh
This commit is contained in:
@@ -186,13 +186,18 @@ gather_container_stats() {
|
||||
echo "mem_percent=$mem_pct"
|
||||
fi
|
||||
|
||||
# Disk (rootfs)
|
||||
# Disk (rootfs) - merge wrapped lines, find the / mount
|
||||
local disk_info
|
||||
disk_info=$($exec_cmd df -B1 / 2>/dev/null | tail -1)
|
||||
disk_info=$($exec_cmd df -B1 / 2>/dev/null | awk 'NR>1{line=line $0" "} END{print line}')
|
||||
if [ -n "$disk_info" ]; then
|
||||
echo "disk_total=$(echo "$disk_info" | awk '{print $2}')"
|
||||
echo "disk_used=$(echo "$disk_info" | awk '{print $3}')"
|
||||
echo "disk_percent=$(echo "$disk_info" | awk '{gsub(/%/,""); print $5}')"
|
||||
# Extract numbers - find the fields: total used avail percent
|
||||
local d_total d_used d_pct
|
||||
d_total=$(echo "$disk_info" | awk '{for(i=1;i<=NF;i++) if($i+0>0 && $i !~ /%/){print $i; exit}}')
|
||||
d_used=$(echo "$disk_info" | awk '{for(i=1;i<=NF;i++) if($i+0>0 && $i !~ /%/){n++; if(n==2){print $i; exit}}}')
|
||||
d_pct=$(echo "$disk_info" | grep -oE '[0-9]+%' | head -1 | tr -d '%')
|
||||
[ -n "$d_total" ] && echo "disk_total=$d_total"
|
||||
[ -n "$d_used" ] && echo "disk_used=$d_used"
|
||||
[ -n "$d_pct" ] && echo "disk_percent=$d_pct"
|
||||
fi
|
||||
|
||||
# IP
|
||||
@@ -200,6 +205,11 @@ gather_container_stats() {
|
||||
ip=$($exec_cmd hostname -I 2>/dev/null | awk '{print $1}')
|
||||
[ -n "$ip" ] && echo "ip=$ip"
|
||||
|
||||
# OS
|
||||
local os_pretty
|
||||
os_pretty=$($exec_cmd cat /etc/os-release 2>/dev/null | grep PRETTY_NAME | cut -d= -f2 | tr -d '"')
|
||||
[ -n "$os_pretty" ] && echo "os=$os_pretty"
|
||||
|
||||
# Uptime
|
||||
local uptime_s
|
||||
uptime_s=$($exec_cmd cut -d' ' -f1 /proc/uptime 2>/dev/null | cut -d. -f1)
|
||||
@@ -217,8 +227,11 @@ _sudo() {
|
||||
|
||||
# Proxmox LXC (pct)
|
||||
if command -v pct &>/dev/null; then
|
||||
_sudo pct list 2>/dev/null | tail -n +2 | while read -r vmid status _ name _; do
|
||||
[ -z "$vmid" ] && continue
|
||||
_sudo pct list 2>/dev/null | tail -n +2 | while read -r line; do
|
||||
[ -z "$line" ] && continue
|
||||
vmid=$(echo "$line" | awk '{print $1}')
|
||||
status=$(echo "$line" | awk '{print $2}')
|
||||
name=$(echo "$line" | awk '{print $NF}')
|
||||
echo "[container:pct-${vmid}]"
|
||||
echo "type=lxc"
|
||||
echo "platform=proxmox"
|
||||
|
||||
Reference in New Issue
Block a user