opensearch-ingest/cpu-mem-json.sh

41 lines
922 B
Bash
Executable File

#!/usr/bin/env bash
printf '{\"time\":\"%(%Y-%m-%dT%H:%M:%S%z)T\",' -1
grep 'cpu ' /proc/stat | awk '{usage=($2+$4)/($2+$4+$5)} END {printf("\"cpuPercent\":%f,", usage)}'
awk '{load=$1} END {printf("\"load\":%f,", load)}' /proc/loadavg
awk '
/^MemTotal:/ {
mem_total=$2
}
/^MemFree:/ {
mem_free=$2
}
/^Buffers:/ {
mem_free+=$2
}
/^Cached:/ {
mem_free+=$2
}
/^SwapTotal:/ {
swap_total=$2
}
/^SwapFree:/ {
swap_free=$2
}
END {
used=(mem_total-mem_free)
total=mem_total
pct=0
if (total > 0) {
pct=used/total
}
# full text
printf("\"memUsed\":%d,\"memTotal\":%d,\"memPercent\":%f,", used, total, pct)
}
' /proc/meminfo
df | grep '/dev/nvme1n1p3' | awk '{usage=(1-($4/$2))} END {printf("\"disk01\":%f,", usage)}'
awk '{printf("\"secondsUp\":%d", $1)}' /proc/uptime
echo '}'