summaryrefslogtreecommitdiffstats
path: root/core/modules/hardware-stats
diff options
context:
space:
mode:
authorSimon Rettberg2019-01-24 16:55:56 +0100
committerSimon Rettberg2019-01-24 16:55:56 +0100
commit8762536a36851b99181d056335fce3132bff9ec7 (patch)
tree1762187a79770c74b8498aab4df1eb9105bb7785 /core/modules/hardware-stats
parent[redsocks] Add missing space to fix blacklist; switch to env-var for http (diff)
downloadmltk-8762536a36851b99181d056335fce3132bff9ec7.tar.gz
mltk-8762536a36851b99181d056335fce3132bff9ec7.tar.xz
mltk-8762536a36851b99181d056335fce3132bff9ec7.zip
[hardware-stats] Add more memory stats to runstate report
Diffstat (limited to 'core/modules/hardware-stats')
-rwxr-xr-xcore/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update13
1 files changed, 9 insertions, 4 deletions
diff --git a/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update b/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update
index cb1d3e5b..a4b1dbe2 100755
--- a/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update
+++ b/core/modules/hardware-stats/data/opt/openslx/scripts/cron-system_usage_update
@@ -25,19 +25,24 @@ for SESSION in $(loginctl $LEGEND | awk '{print $1}'); do
done
# Also report usage of /tmp and swap
-TMP=$(df -P /tmp | grep -m1 ' /tmp$')
+TMP=$(df -P /tmp | grep -m1 '^/dev')
TMP_SIZE=$(echo $TMP | awk '{print $2}')
TMP_FREE=$(echo $TMP | awk '{print $4}')
-SWAP_FREE=$(grep -m1 ^SwapFree: /proc/meminfo | awk '{print $2}')
+SWAP_SIZE=$( awk '{if ($1 == "SwapTotal:") { print $2; exit; }}' /proc/meminfo )
+SWAP_FREE=$( awk '{if ($1 == "SwapFree:") { print $2; exit; }}' /proc/meminfo )
+MEM_SIZE=$( awk '{if ($1 == "MemTotal:") { print $2; exit; }}' /proc/meminfo )
+MEM_FREE=$( awk 'BEGIN{n=0}{if ($1 == "MemAvailable:" || $1 == "Buffers:" || $1 == "Cached:") n += $2}END{print n}' /proc/meminfo )
if [ -n "$SLX_EXAM" ]; then
# This isn't an actual runmode, but in case exam mode is active on a client you definitely want
# to know about it, more than other runmodes actually
SLX_RUNMODE_MODULE="exams"
fi
-curl -s --data-urlencode "type=~runstate" --data-urlencode "uuid=$UUID" --data-urlencode "used=$USED" \
+curl --retry 3 --retry-connrefused -s --data-urlencode "type=~runstate" --data-urlencode "uuid=$UUID" --data-urlencode "used=$USED" \
--data-urlencode "user=$Name" --data-urlencode "tmpsize=$TMP_SIZE" --data-urlencode "tmpfree=$TMP_FREE" \
- --data-urlencode "swapfree=$SWAP_FREE" --data-urlencode "runmode=$SLX_RUNMODE_MODULE" "$SLX_REMOTE_LOG" > /dev/null 2>&1
+ --data-urlencode "swapsize=$SWAP_SIZE" --data-urlencode "swapfree=$SWAP_FREE" \
+ --data-urlencode "memsize=$MEM_SIZE" --data-urlencode "memfree=$MEM_FREE" \
+ --data-urlencode "runmode=$SLX_RUNMODE_MODULE" "$SLX_REMOTE_LOG" > /dev/null 2>&1
# Warn user if tmp or swap usage is high; system might crash soon