Support OpenBSD
Add OpenBSD support to the scripts Fix sysctl usage for FreeBSD in a couple places
This commit is contained in:
parent
24f6e18ef8
commit
8c02cbc5cc
33 changed files with 283 additions and 19 deletions
4
VERSION
4
VERSION
|
@ -1,2 +1,2 @@
|
||||||
9.2.0.8
|
9.2.0.9
|
||||||
9.2.0.8
|
9.2.0.9
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
"id": {
|
"id": {
|
||||||
"group": null,
|
"group": null,
|
||||||
"name": "TA-nix",
|
"name": "TA-nix",
|
||||||
"version": "9.2.0.8"
|
"version": "9.2.0.9"
|
||||||
},
|
},
|
||||||
"license": {
|
"license": {
|
||||||
"name": "Splunk Software License Agreement",
|
"name": "Splunk Software License Agreement",
|
||||||
|
|
|
@ -79,6 +79,10 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
FILTER='($0 ~ "Name|sar| lo") {next}'
|
FILTER='($0 ~ "Name|sar| lo") {next}'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
FORMAT='{Name=$1; rxPackets_PS=$5; txPackets_PS=$7; rxKB_PS=?; txKB_PS=?}'
|
FORMAT='{Name=$1; rxPackets_PS=$5; txPackets_PS=$7; rxKB_PS=?; txKB_PS=?}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD='eval ifconfig -a | awk "/UP/ && /RUNNING/ && \$1 != \"lo0:\" {print substr(\$1, 1, length(\$1) - 1)}" | while read -r int; do echo $int $(netstat -bnI $int -w 1 | head -n4 | tail -n1) $(netstat -nI $int -w 1 | head -n 4 | tail -n1 ); done'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FORMAT='{Name=$1; rxPackets_PS=$6; txPackets_PS=$8; rxKB_PS=$2/1024; txKB_PS=$2/1024}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
CMD='sar -n DEV 1 2'
|
CMD='sar -n DEV 1 2'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
|
|
|
@ -71,6 +71,9 @@ case "x$KERNEL" in
|
||||||
;;
|
;;
|
||||||
"xFreeBSD")
|
"xFreeBSD")
|
||||||
;;
|
;;
|
||||||
|
"xOpenBSD")
|
||||||
|
AWK=gawk
|
||||||
|
;;
|
||||||
"xAIX")
|
"xAIX")
|
||||||
;;
|
;;
|
||||||
"xHP-UX")
|
"xHP-UX")
|
||||||
|
|
14
bin/cpu.sh
14
bin/cpu.sh
|
@ -145,6 +145,20 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
pctSystem = remove_char($5, "%");
|
pctSystem = remove_char($5, "%");
|
||||||
pctIdle = remove_char($7, "%");
|
pctIdle = remove_char($7, "%");
|
||||||
}'
|
}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD='eval top -1 -b; top -b'
|
||||||
|
assertHaveCommand "$CMD"
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FILTER='($0 !~ "^([0-9]+[\t ]+)?CPU"){next;}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FORMAT='{
|
||||||
|
if ($1 ~ /^[0-9]+$/)
|
||||||
|
name="all";
|
||||||
|
else if ($1 ~ /^CPU[0-9]+$/)
|
||||||
|
name=substr($1,4);
|
||||||
|
else name=0;
|
||||||
|
printf "%s\t%s\t%s\t%s\t%s\t%s",name,substr($3,1,length($3)-1),substr($5,1,length($5)-1),substr($7,1,length($7)-1),substr($11,1,length($11)-1),substr($13,1,length($13)-1)
|
||||||
|
}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
CMD='eval top -P -d2 c; top -d2 c'
|
CMD='eval top -P -d2 c; top -d2 c'
|
||||||
assertHaveCommand "$CMD"
|
assertHaveCommand "$CMD"
|
||||||
|
|
|
@ -167,6 +167,26 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
OS_version=OS_version;
|
OS_version=OS_version;
|
||||||
IP_address=IP_address;
|
IP_address=IP_address;
|
||||||
}'
|
}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD='eval top -1 -b; top -b'
|
||||||
|
assertHaveCommand "$CMD"
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FILTER='($0 !~ "^([0-9]+[\t ]+)?CPU"){next;}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
DEFINE="-v OSName=$(uname -s) -v OS_version=$(uname -r) -v IP_address=$(ifconfig -a | grep 'inet ' | grep -v 127.0.0.1 | cut -d\ -f2 | head -n 1)"
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FORMAT='{
|
||||||
|
if ($1 ~ /^[0-9]+$/)
|
||||||
|
cpu="all";
|
||||||
|
else if ($1 ~ /^CPU[0-9]+$/)
|
||||||
|
cpu=substr($1,4);
|
||||||
|
else cpu=0;
|
||||||
|
pctUser=substr($3,1,length($3)-1);
|
||||||
|
pctNice=substr($5,1,length($5)-1);
|
||||||
|
pctSystem=substr($7,1,length($7)-1);
|
||||||
|
pctIowait=substr($11,1,length($11)-1);
|
||||||
|
pctIdle=substr($13,1,length($13)-1);
|
||||||
|
}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
CMD='eval top -P -d2 c; top -d2 c'
|
CMD='eval top -P -d2 c; top -d2 c'
|
||||||
assertHaveCommand "$CMD"
|
assertHaveCommand "$CMD"
|
||||||
|
|
24
bin/df.sh
24
bin/df.sh
|
@ -232,6 +232,30 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $1, fsTypes[$NF], $2, $3, $4, $5, $6+$7, $6, $7, $8, $9;
|
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $1, fsTypes[$NF], $2, $3, $4, $5, $6+$7, $6, $7, $8, $9;
|
||||||
}'
|
}'
|
||||||
|
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
assertHaveCommand mount
|
||||||
|
assertHaveCommand df
|
||||||
|
CMD='eval mount -t nodevfs,nonfs,noswap,nocd9660; df -ih -t nodevfs,nonfs,noswap,nocd9660'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
BEGIN='BEGIN { OFS = "\t" }'
|
||||||
|
#Maps fsType
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
MAP_FS_TO_TYPE='/ on / {
|
||||||
|
for (i = 1; i <= NF; i++){
|
||||||
|
if ($i == "on" && $(i + 1) ~ /^\/.*/)
|
||||||
|
key = $(i + 1);
|
||||||
|
}
|
||||||
|
fsTypes[key] = $5;
|
||||||
|
}'
|
||||||
|
# Append Type and Inode headers to the main header and print respective fields from values stored in MAP_FS_TO_TYPE variables
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PRINTF='/^Filesystem/ {
|
||||||
|
print "Filesystem\tType\tSize\tUsed\tAvail\tUse%%\tInodes\tIUsed\tIFree\tIUse%%\tMountedOn\n";
|
||||||
|
}
|
||||||
|
$0 !~ /^Filesystem/ && $0 !~ / on / {
|
||||||
|
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $1, fsTypes[$NF], $2, $3, $4, $5, $6+$7, $6, $7, $8, $9;
|
||||||
|
}'
|
||||||
|
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
assertHaveCommand mount
|
assertHaveCommand mount
|
||||||
assertHaveCommand df
|
assertHaveCommand df
|
||||||
|
|
|
@ -252,6 +252,32 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $1, fsTypes[$NF], $2, $3, $4, substr($5, 1, length($5) - 1), $6+$7, $6, $7, substr($8, 1, length($8) - 1), $9, OSName, OS_version, IP_address, IPv6_Address;
|
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $1, fsTypes[$NF], $2, $3, $4, substr($5, 1, length($5) - 1), $6+$7, $6, $7, substr($8, 1, length($8) - 1), $9, OSName, OS_version, IP_address, IPv6_Address;
|
||||||
}'
|
}'
|
||||||
|
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
assertHaveCommand mount
|
||||||
|
assertHaveCommand df
|
||||||
|
CMD='eval mount -t nodevfs,nonfs,noswap,nocd9660; df -ih -t nodevfs,nonfs,noswap,nocd9660'
|
||||||
|
# Filters have been applied to get rid of IPv6 addresses designated for special usage to extract only the global IPv6 address.
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
DEFINE="-v OSName=$(uname -s) -v OS_version=$(uname -r) -v IP_address=$(ifconfig -a | grep 'inet ' | grep -v 127.0.0.1 | cut -d\ -f2 | head -n 1) -v IPv6_Address=$(ifconfig -a | grep inet6 | grep -v ' ::1 ' | grep -v ' ::1/' | grep -v ' ::1%' | grep -v ' fe80::' | grep -v ' 2002::' | grep -v ' ff00::' | head -n 1 | xargs | cut -d '/' -f 1 | cut -d '%' -f 1 | cut -d ' ' -f 2)"
|
||||||
|
BEGIN='BEGIN { OFS = "\t" }'
|
||||||
|
#Maps fsType
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
MAP_FS_TO_TYPE='/ on / {
|
||||||
|
for (i = 1; i <= NF; i++){
|
||||||
|
if ($i == "on" && $(i + 1) ~ /^\/.*/)
|
||||||
|
key = $(i + 1);
|
||||||
|
}
|
||||||
|
fsTypes[key] = $5;
|
||||||
|
}'
|
||||||
|
# Append Type and Inode headers to the main header and print respective fields from values stored in MAP_FS_TO_TYPE variables
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PRINTF='/^Filesystem/ {
|
||||||
|
printf "Filesystem\tType\t1K-blocks\tUsed\tAvail\tUse%%\tInodes\tIUsed\tIFree\tIUse%%\tMountedOn\tOSName\tOS_version\tIP_address\tIPv6_Address\n";
|
||||||
|
}
|
||||||
|
$0 !~ /^Filesystem/ && $0 !~ / on / {
|
||||||
|
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", $1, fsTypes[$NF], $2, $3, $4, substr($5, 1, length($5) - 1), $6+$7, $6, $7, substr($8, 1, length($8) - 1), $9, OSName, OS_version, IP_address, IPv6_Address;
|
||||||
|
}'
|
||||||
|
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
assertHaveCommand mount
|
assertHaveCommand mount
|
||||||
assertHaveCommand df
|
assertHaveCommand df
|
||||||
|
|
|
@ -188,6 +188,29 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
OUTPUT=$(swapinfo -tm)
|
OUTPUT=$(swapinfo -tm)
|
||||||
MEMORY_REAL=$(echo "$OUTPUT" | awk '$1=="memory" {print $2 " MB"; exit}')
|
MEMORY_REAL=$(echo "$OUTPUT" | awk '$1=="memory" {print $2 " MB"; exit}')
|
||||||
MEMORY_SWAP=$(echo "$OUTPUT" | awk '$1=="dev" {print $2 " MB"; exit}')
|
MEMORY_SWAP=$(echo "$OUTPUT" | awk '$1=="dev" {print $2 " MB"; exit}')
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
assertHaveCommand sysctl
|
||||||
|
assertHaveCommand df
|
||||||
|
assertHaveCommand ifconfig
|
||||||
|
assertHaveCommand dmesg
|
||||||
|
assertHaveCommand top
|
||||||
|
# CPUs
|
||||||
|
CPU_TYPE=$(sysctl -n hw.model)
|
||||||
|
CPU_CACHE=
|
||||||
|
CPU_COUNT=$(sysctl -n hw.ncpu)
|
||||||
|
# HDs
|
||||||
|
HARD_DRIVES=$(df -h | awk '/^\/dev/ {sub("^.*\134/", "", $1); drives[$1] = $2} END {for(d in drives) printf("%s: %s; ", d, drives[d])}')
|
||||||
|
# NICs
|
||||||
|
IFACE_NAME=$(ifconfig -a | awk '/^[a-z0-9]+: / {sub(":", "", $1); iface=$1} /media: / {print iface}')
|
||||||
|
for NIC in $IFACE_NAME; do
|
||||||
|
NIC=$(echo $NIC | sed -E 's/[0-9]+$//')
|
||||||
|
NIC_TYPE="$NIC_TYPE,$(whatis $NIC | sed -E 's/^.* - //')"
|
||||||
|
done
|
||||||
|
NIC_TYPE=${NIC_TYPE#,}
|
||||||
|
NIC_COUNT=$(echo $IFACE_NAME | wc -w)
|
||||||
|
# memory
|
||||||
|
MEMORY_REAL=$(sysctl -n hw.physmem)
|
||||||
|
MEMORY_SWAP=$(systat -b swap | gawk '/^DISK/{p=1;next}p==1{swap+=$2}END{print int(swap/2)}')
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
assertHaveCommand sysctl
|
assertHaveCommand sysctl
|
||||||
assertHaveCommand df
|
assertHaveCommand df
|
||||||
|
@ -195,9 +218,9 @@ elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
assertHaveCommand dmesg
|
assertHaveCommand dmesg
|
||||||
assertHaveCommand top
|
assertHaveCommand top
|
||||||
# CPUs
|
# CPUs
|
||||||
CPU_TYPE=$(sysctl hw.model | sed 's/^.*: //')
|
CPU_TYPE=$(sysctl -n hw.model)
|
||||||
CPU_CACHE=
|
CPU_CACHE=
|
||||||
CPU_COUNT=$(sysctl hw.ncpu | sed 's/^.*: //')
|
CPU_COUNT=$(sysctl -n hw.ncpu)
|
||||||
# HDs
|
# HDs
|
||||||
HARD_DRIVES=$(df -h | awk '/^\/dev/ {sub("^.*\134/", "", $1); drives[$1] = $2} END {for(d in drives) printf("%s: %s; ", d, drives[d])}')
|
HARD_DRIVES=$(df -h | awk '/^\/dev/ {sub("^.*\134/", "", $1); drives[$1] = $2} END {for(d in drives) printf("%s: %s; ", d, drives[d])}')
|
||||||
# NICs
|
# NICs
|
||||||
|
@ -205,7 +228,7 @@ elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
NIC_TYPE=$(dmesg | awk '(index($0, iface) && index($0, " port ")) {sub("^.*<", ""); sub(">.*$", ""); print $0}' iface="$IFACE_NAME" | head -1)
|
NIC_TYPE=$(dmesg | awk '(index($0, iface) && index($0, " port ")) {sub("^.*<", ""); sub(">.*$", ""); print $0}' iface="$IFACE_NAME" | head -1)
|
||||||
NIC_COUNT=$(ifconfig -a | grep -c media)
|
NIC_COUNT=$(ifconfig -a | grep -c media)
|
||||||
# memory
|
# memory
|
||||||
MEMORY_REAL=$(sysctl hw.physmem | awk '{print $2/(1024*1024) "MB"}')
|
MEMORY_REAL=$(sysctl -n hw.physmem)
|
||||||
MEMORY_SWAP=$(top -Sb 0 | awk '/^Swap: / {print $2 "B"}')
|
MEMORY_SWAP=$(top -Sb 0 | awk '/^Swap: / {print $2 "B"}')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -469,6 +469,27 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
echo "$HEADER"
|
echo "$HEADER"
|
||||||
echo "$out"
|
echo "$out"
|
||||||
fi
|
fi
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
assertHaveCommand ifconfig
|
||||||
|
assertHaveCommand netstat
|
||||||
|
|
||||||
|
CMD_LIST_INTERFACES='ifconfig -a'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
CHOOSE_ACTIVE='/^[a-z0-9]+: / {sub(":", "", $1); iface=$1} /media: / {print iface}'
|
||||||
|
UNIQUE='sort -u'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
GET_MAC='{$1 == "lladdr" && mac = $2}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
GET_IP='/ (netmask|prefixlen) / {for (i=1; i<=NF; i++) {if ($i == "inet") IPv4 = $(i+1); if ($i == "inet6") IPv6 = $(i+1)}}'
|
||||||
|
out=$($CMD_LIST_INTERFACES | tee "$TEE_DEST" | awk "$CHOOSE_ACTIVE" | $UNIQUE | tee -a "$TEE_DEST")
|
||||||
|
lines=$(echo "$out" | wc -l)
|
||||||
|
if [ "$lines" -gt 0 ]; then
|
||||||
|
echo "$HEADER"
|
||||||
|
fi
|
||||||
|
for iface in $out
|
||||||
|
do
|
||||||
|
echo "$iface $(ifconfig $iface | awk "$GET_MAC $GET_IP END {printf \"%s %s %s\", mac, IPv4, IPv6}") $(echo $(netstat -bnI $iface -w1 | head -n4 | tail -n1) $(netstat -neI $iface -w1 | head -n4 | tail -n1) | awk "{printf \"%s %s %s %s %s\", \$9, \$1, \$6, \$2, \$8}") auto auto"
|
||||||
|
done
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
assertHaveCommand ifconfig
|
assertHaveCommand ifconfig
|
||||||
assertHaveCommand netstat
|
assertHaveCommand netstat
|
||||||
|
|
|
@ -485,6 +485,30 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
echo "$HEADER"
|
echo "$HEADER"
|
||||||
echo "$out"
|
echo "$out"
|
||||||
fi
|
fi
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
assertHaveCommand ifconfig
|
||||||
|
assertHaveCommand netstat
|
||||||
|
|
||||||
|
CMD_LIST_INTERFACES='ifconfig -a'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
CHOOSE_ACTIVE='/^[a-z0-9]+: / {sub(":", "", $1); iface=$1} /media: / {print iface}'
|
||||||
|
UNIQUE='sort -u'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
GET_MAC='{$1 == "lladdr" && mac = $2}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
GET_IP='/ (netmask|prefixlen) / {for (i=1; i<=NF; i++) {if ($i == "inet") IPv4 = $(i+1); if ($i == "inet6") IPv6 = $(i+1)}}'
|
||||||
|
out=$($CMD_LIST_INTERFACES | tee "$TEE_DEST" | awk "$CHOOSE_ACTIVE" | $UNIQUE | tee -a "$TEE_DEST")
|
||||||
|
lines=$(echo "$out" | wc -l)
|
||||||
|
INT=$(netstat -nr | awk '$1 == "default" {print $NF; exit}')
|
||||||
|
IP4=$(ifconfig $INT | awk '$1=="inet"{print $2;p=1;exit}END{if (p!=1) print "<n/a>"}')
|
||||||
|
IP6=$(ifconfig $INT | awk '$1=="inet6" && $2!~/%vio0$/{print $2;p=1;exit}END{if (p!=1) print "<n/a>"}')
|
||||||
|
if [ "$lines" -gt 0 ]; then
|
||||||
|
echo "$HEADER"
|
||||||
|
fi
|
||||||
|
for iface in $out
|
||||||
|
do
|
||||||
|
echo "$iface $(ifconfig $iface | awk "$GET_MAC $GET_IP END {printf \"%s %s %s\", mac, IPv4, IPv6}") $(echo $(netstat -bnI $iface -w1 | head -n4 | tail -n1) $(netstat -neI $iface -w1 | head -n4 | tail -n1) | awk "{printf \"%s %s %s %s %s\", \$9, \$1, \$6, \$2, \$8}") auto auto $(uname -s) $(uname -r) $IP4 $IP6"
|
||||||
|
done
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
assertHaveCommand ifconfig
|
assertHaveCommand ifconfig
|
||||||
assertHaveCommand netstat
|
assertHaveCommand netstat
|
||||||
|
|
|
@ -22,6 +22,12 @@ elif [ "$KERNEL" = "AIX" ] ; then
|
||||||
assertHaveCommand "$CMD"
|
assertHaveCommand "$CMD"
|
||||||
# considers the disks, kb_read and kb_wrtn columns and returns output of the second interval
|
# considers the disks, kb_read and kb_wrtn columns and returns output of the second interval
|
||||||
FILTER='/^cd/ {next} /Disks/ && /Kb_read/ && /Kb_wrtn/ {f++;} f==2'
|
FILTER='/^cd/ {next} /Disks/ && /Kb_read/ && /Kb_wrtn/ {f++;} f==2'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD='systat -B iostat'
|
||||||
|
assertHaveCommand "$CMD"
|
||||||
|
HEADER="Device rB/s wB/s r/s w/s"
|
||||||
|
HEADERIZE="BEGIN {print \"$HEADER\"}"
|
||||||
|
FILTER=$HEADERIZE'/^[^ \t]/ && !/^(DEVICE|Totals)/{printf "%-7s %.2f %.2f %d %d\n", $1, $2/1024, $3/1024, $4, $5}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
CMD='iostat -x -c 2'
|
CMD='iostat -x -c 2'
|
||||||
assertHaveCommand "$CMD"
|
assertHaveCommand "$CMD"
|
||||||
|
|
|
@ -35,6 +35,13 @@ elif [ "$KERNEL" = "AIX" ] ; then
|
||||||
FILTER='/^cd/ {next} /Disks/ && /Kb_read/ && /Kb_wrtn/ {f++;} f==2'
|
FILTER='/^cd/ {next} /Disks/ && /Kb_read/ && /Kb_wrtn/ {f++;} f==2'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
PRINTF='{if ($0~/Disks/ && /Kb_read/ && /Kb_wrtn/) {printf "%s OSName OS_version IP_address \n", $0} else if (NF!=0) {printf "%s %s %s %s\n", $0, OSName, OS_version/1000, IP_address}}'
|
PRINTF='{if ($0~/Disks/ && /Kb_read/ && /Kb_wrtn/) {printf "%s OSName OS_version IP_address \n", $0} else if (NF!=0) {printf "%s %s %s %s\n", $0, OSName, OS_version/1000, IP_address}}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD='systat -B iostat'
|
||||||
|
assertHaveCommand "$CMD"
|
||||||
|
DEFINE="-v OSName=$(uname -s) -v OS_version=$(uname -r) -v IP_address=$(ifconfig $(netstat -nr | awk '$1 == "default" {print $NF; exit}') | awk '$1=="inet"{print $2;p=1;exit}END{if (p!=1) print "<n/a>"}')"
|
||||||
|
HEADER="Device rB/s wB/s r/s w/s OSName OS_version IP_address"
|
||||||
|
HEADERIZE="BEGIN {print \"$HEADER\"}"
|
||||||
|
FILTER=$HEADERIZE'/^[^ \t]/ && !/^(DEVICE|Totals)/{printf "%-7s %.2f %.2f %d %d %s %s %s\n", $1, $2/1024, $3/1024, $4, $5, OSName, OS_version, IP_address}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
CMD='iostat -x -c 2'
|
CMD='iostat -x -c 2'
|
||||||
assertHaveCommand "$CMD"
|
assertHaveCommand "$CMD"
|
||||||
|
|
|
@ -29,6 +29,12 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
FILTER='{if ($0 == "") exit; if ($1 ~ /reboot|shutdown/ || $1 in users) next; users[$1]=1}'
|
FILTER='{if ($0 == "") exit; if ($1 ~ /reboot|shutdown/ || $1 in users) next; users[$1]=1}'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
FORMAT='{username = $1; from = ($0 !~ / /) ? $3 : "<console>"; latest = $(NF-6) " " $(NF-5) " " $(NF-4) " " $(NF-3)}'
|
FORMAT='{username = $1; from = ($0 !~ / /) ? $3 : "<console>"; latest = $(NF-6) " " $(NF-5) " " $(NF-4) " " $(NF-3)}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD='last'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FILTER='{if ($0 == "") exit; if ($1 ~ /reboot|shutdown/ || $1 in users) next; users[$1]=1}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
FORMAT='{username = $1; from = (NF==10) ? $3 : "<console>"; latest = $(NF-6) " " $(NF-5) " " $(NF-4) " " $(NF-3)}'
|
||||||
elif [ "$KERNEL" = "HP-UX" ] ; then
|
elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
CMD='lastb -Rx'
|
CMD='lastb -Rx'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
. "$(dirname "$0")"/common.sh
|
. "$(dirname "$0")"/common.sh
|
||||||
|
|
||||||
|
if [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
fstat | awk '/^USER/{print "COMMAND PID USER FD MOUNT"} $5 ~ /^\// {print $2, $3, $1, $4, $5} $5 !~ /^\// && !/^USER/ {print $2, $3, $1, $4, $5, $6, $7, $8, $9, $10, $11}'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
assertHaveCommand lsof
|
assertHaveCommand lsof
|
||||||
CMD='lsof -nPs +c 0'
|
CMD='lsof -nPs +c 0'
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
FORMAT='{gsub("[46]", "", $1)}'
|
FORMAT='{gsub("[46]", "", $1)}'
|
||||||
elif [ "$KERNEL" = "HP-UX" ] ; then
|
elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
CMD='eval netstat -an | egrep "tcp|udp"'
|
CMD='eval netstat -an | egrep "tcp|udp"'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] || [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
# shellcheck disable=SC2089
|
# shellcheck disable=SC2089
|
||||||
CMD='eval netstat -an | egrep "tcp|udp"'
|
CMD='eval netstat -an | egrep "tcp|udp"'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
|
|
|
@ -52,7 +52,7 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
FORMAT='{gsub("[46]", "", $1); proto=$1; sub("^.*[^0-9]", "", $4); port=$4}'
|
FORMAT='{gsub("[46]", "", $1); proto=$1; sub("^.*[^0-9]", "", $4); port=$4}'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
FILTER='{if ($4 == "") next}'
|
FILTER='{if ($4 == "") next}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] || [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
# shellcheck disable=SC2089
|
# shellcheck disable=SC2089
|
||||||
CMD='eval netstat -ln | egrep "^tcp|^udp"'
|
CMD='eval netstat -ln | egrep "^tcp|^udp"'
|
||||||
HEADERIZE="BEGIN {print \"$HEADER\"}"
|
HEADERIZE="BEGIN {print \"$HEADER\"}"
|
||||||
|
|
|
@ -46,6 +46,12 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
FILTER='/^#/ {next} $1=="" {next}'
|
FILTER='/^#/ {next} $1=="" {next}'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
FORMAT='{release="?"; group="?"; vendor="?"; name=$1; version=$2; arch=$3} NF==4 {vendor=$4}'
|
FORMAT='{release="?"; group="?"; vendor="?"; name=$1; version=$2; arch=$3} NF==4 {vendor=$4}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD=pkg_info
|
||||||
|
HEADER='NAME VERSION ARCH '
|
||||||
|
HEADERIZE="BEGIN {print \"$HEADER\"; arch=\"$(arch -s)\"}"
|
||||||
|
#PRINTF='{ printf "%-50s %-50s %s\n",$1,$2,$3}'
|
||||||
|
PRINTF='{name=gensub(/-[0-9].*$/,"",1,$1); suffix=gensub(/^.*-([0-9][^-]*)/,"",1,$1); if (suffix!="") suffix="," suffix; version=gensub(/^.*-([0-9][^-]*)-?.*$/,"\\1",1,$1); printf "%-50s %-50s %s\n", name suffix, version, arch}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
# the below syntax is valid when using zsh, bash, ksh
|
# the below syntax is valid when using zsh, bash, ksh
|
||||||
if [[ $KERNEL_RELEASE =~ 10.* ]] || [[ $KERNEL_RELEASE =~ 11.* ]] || [[ $KERNEL_RELEASE =~ 12.* ]] || [[ $KERNEL_RELEASE =~ 13.* ]]; then
|
if [[ $KERNEL_RELEASE =~ 10.* ]] || [[ $KERNEL_RELEASE =~ 11.* ]] || [[ $KERNEL_RELEASE =~ 12.* ]] || [[ $KERNEL_RELEASE =~ 13.* ]]; then
|
||||||
|
|
|
@ -65,7 +65,7 @@ elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
SECTION_TCP='inTCP && /retransmited$/ {TCPrexmits=$1} inTCP && /out of order/ {TCPreorder=$1} inTCP && /[0-9] packets received$/ {TCPpktRecv=$1} inTCP && /[0-9] packets sent$/ {TCPpktSent=$1}'
|
SECTION_TCP='inTCP && /retransmited$/ {TCPrexmits=$1} inTCP && /out of order/ {TCPreorder=$1} inTCP && /[0-9] packets received$/ {TCPpktRecv=$1} inTCP && /[0-9] packets sent$/ {TCPpktSent=$1}'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
SECTION_UDP='inUDP && /packets received/ {UDPpktRecv=$1} inUDP && /packets sent/ {UDPpktSent=$1} inUDP && /packet receive errors/ {UDPpktLost=$1} inUDP && /packets to unknown port received/ {UDPunkPort=$1}'
|
SECTION_UDP='inUDP && /packets received/ {UDPpktRecv=$1} inUDP && /packets sent/ {UDPpktSent=$1} inUDP && /packet receive errors/ {UDPpktLost=$1} inUDP && /packets to unknown port received/ {UDPunkPort=$1}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] || [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
FIGURE_SECTION='/^ip:$/ {inIP=1;inTCP=0;inUDP=0} /^tcp:$/ {inIP=0;inTCP=1;inUDP=0} /^udp:$/ {inIP=0;inTCP=0;inUDP=1} {if (NF==1 && $1 !~ /^ip:$|^udp:$|^tcp:$/) inIP=inTCP=inUDP=0}'
|
FIGURE_SECTION='/^ip:$/ {inIP=1;inTCP=0;inUDP=0} /^tcp:$/ {inIP=0;inTCP=1;inUDP=0} /^udp:$/ {inIP=0;inTCP=0;inUDP=1} {if (NF==1 && $1 !~ /^ip:$|^udp:$|^tcp:$/) inIP=inTCP=inUDP=0}'
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
. "$(dirname "$0")"/common.sh
|
. "$(dirname "$0")"/common.sh
|
||||||
|
|
||||||
# shellcheck disable=SC2166
|
# shellcheck disable=SC2166
|
||||||
if [ "$KERNEL" = "Linux" -o "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" ] ; then
|
if [ "$KERNEL" = "Linux" -o "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" -o "$KERNEL" = "OpenBSD" ] ; then
|
||||||
assertHaveCommand ps
|
assertHaveCommand ps
|
||||||
CMD='ps auxww'
|
CMD='ps auxww'
|
||||||
elif [ "$KERNEL" = "AIX" ] ; then
|
elif [ "$KERNEL" = "AIX" ] ; then
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
. "$(dirname "$0")"/common.sh
|
. "$(dirname "$0")"/common.sh
|
||||||
|
|
||||||
# shellcheck disable=SC2166
|
# shellcheck disable=SC2166
|
||||||
if [ "$KERNEL" = "Linux" -o "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" ] ; then
|
if [ "$KERNEL" = "Linux" -o "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" -o "$KERNEL" = "OpenBSD" ] ; then
|
||||||
assertHaveCommand ps
|
assertHaveCommand ps
|
||||||
CMD='ps auxww'
|
CMD='ps auxww'
|
||||||
if [ "$KERNEL" = "Linux" ] ; then
|
if [ "$KERNEL" = "Linux" ] ; then
|
||||||
|
@ -17,7 +17,7 @@ if [ "$KERNEL" = "Linux" -o "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" ] ; th
|
||||||
else
|
else
|
||||||
DEFINE="-v OSName=$(cat /etc/*release | grep '\bNAME=' | cut -d '=' -f2 | tr ' ' '_' | cut -d\" -f2) -v OS_version=$(cat /etc/*release | grep -E '\b(VERSION|BUILD)_ID=' | cut -d '=' -f2 | cut -d\" -f2) -v IP_address=$(ip -4 route show default | awk '{print $9}') -v IPv6_Address=$(ip -6 -brief address show scope global | xargs | cut -d ' ' -f 3 | cut -d '/' -f 1)"
|
DEFINE="-v OSName=$(cat /etc/*release | grep '\bNAME=' | cut -d '=' -f2 | tr ' ' '_' | cut -d\" -f2) -v OS_version=$(cat /etc/*release | grep -E '\b(VERSION|BUILD)_ID=' | cut -d '=' -f2 | cut -d\" -f2) -v IP_address=$(ip -4 route show default | awk '{print $9}') -v IPv6_Address=$(ip -6 -brief address show scope global | xargs | cut -d ' ' -f 3 | cut -d '/' -f 1)"
|
||||||
fi
|
fi
|
||||||
elif [ "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "Darwin" -o "$KERNEL" = "FreeBSD" -o "$KERNEL" = "OpenBSD" ] ; then
|
||||||
# Filters have been applied to get rid of IPv6 addresses designated for special usage to extract only the global IPv6 address.
|
# Filters have been applied to get rid of IPv6 addresses designated for special usage to extract only the global IPv6 address.
|
||||||
DEFINE="-v OSName=$(uname -s) -v OS_version=$(uname -r) -v IP_address=$(ifconfig -a | grep 'inet ' | grep -v 127.0.0.1 | cut -d\ -f2 | head -n 1) -v IPv6_Address=$(ifconfig -a | grep inet6 | grep -v ' ::1 ' | grep -v ' ::1/' | grep -v ' ::1%' | grep -v ' fe80::' | grep -v ' 2002::' | grep -v ' ff00::' | head -n 1 | xargs | cut -d '/' -f 1 | cut -d '%' -f 1 | cut -d ' ' -f 2)"
|
DEFINE="-v OSName=$(uname -s) -v OS_version=$(uname -r) -v IP_address=$(ifconfig -a | grep 'inet ' | grep -v 127.0.0.1 | cut -d\ -f2 | head -n 1) -v IPv6_Address=$(ifconfig -a | grep inet6 | grep -v ' ::1 ' | grep -v ' ::1/' | grep -v ' ::1%' | grep -v ' fe80::' | grep -v ' 2002::' | grep -v ' ff00::' | head -n 1 | xargs | cut -d '/' -f 1 | cut -d '%' -f 1 | cut -d ' ' -f 2)"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -63,6 +63,8 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
:
|
:
|
||||||
elif [ "$KERNEL" = "HP-UX" ] ; then
|
elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||||
:
|
:
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
:
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
:
|
:
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -187,6 +187,22 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
|
|
||||||
POSTPROCESS='END { if (SPLUNKD==0) { printf "%s app=\"Splunk\" StartMode=Disabled\n", DATE } }'
|
POSTPROCESS='END { if (SPLUNKD==0) { printf "%s app=\"Splunk\" StartMode=Disabled\n", DATE } }'
|
||||||
|
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
enabled=" $(/usr/sbin/rcctl ls on) "
|
||||||
|
failed=" $(doas /usr/sbin/rcctl ls failed) "
|
||||||
|
rogue=" $(doas /usr/sbin/rcctl ls rogue) "
|
||||||
|
running=" $(doas /usr/sbin/rcctl ls started) "
|
||||||
|
for svc in $(/usr/sbin/rcctl ls all); do
|
||||||
|
enabled=false
|
||||||
|
echo $enabled | grep " $svc " && enabled=true
|
||||||
|
failed=false
|
||||||
|
echo $enabled | grep " $svc " && failed=true
|
||||||
|
rogue=false
|
||||||
|
echo $enabled | grep " $svc " && rogue=true
|
||||||
|
state=stopped
|
||||||
|
echo $enabled | grep " $svc " && state=running
|
||||||
|
date "+%a %b %e %H:%M:%S %Z %Y type=rcctl app=$svc, enabled=$enabled, failed=$failed, rogue=$rogue, running=$running"
|
||||||
|
done
|
||||||
else
|
else
|
||||||
# Exits
|
# Exits
|
||||||
failUnsupportedScript
|
failUnsupportedScript
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
. "$(dirname "$0")"/common.sh
|
. "$(dirname "$0")"/common.sh
|
||||||
|
|
||||||
SSH_CONFIG_FILE=""
|
SSH_CONFIG_FILE=""
|
||||||
if [ "$KERNEL" = "Linux" ] || [ "$KERNEL" = "SunOS" ] ; then
|
if [ "$KERNEL" = "Linux" ] || [ "$KERNEL" = "SunOS" ] || [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
SSH_CONFIG_FILE=/etc/ssh/sshd_config
|
SSH_CONFIG_FILE=/etc/ssh/sshd_config
|
||||||
|
[ "$KERNEL" = "OpenBSD" ] && SPLUNK_HOME=/usr
|
||||||
elif [ "$KERNEL" = "Darwin" ] ; then
|
elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
SSH_CONFIG_FILE=/etc/sshd_config
|
SSH_CONFIG_FILE=/etc/sshd_config
|
||||||
else
|
else
|
||||||
|
|
|
@ -51,6 +51,8 @@ elif [ "$KERNEL" = "Darwin" ] && [ $FOUND_SNTP -eq 0 ] ; then # Mac OS 10.14.6 o
|
||||||
echo "CONFIG=$CONFIG, SERVER=$SERVER" >> "$TEE_DEST"
|
echo "CONFIG=$CONFIG, SERVER=$SERVER" >> "$TEE_DEST"
|
||||||
|
|
||||||
#With Chrony
|
#With Chrony
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ]; then
|
||||||
|
CMD2="ntpctl -s all"
|
||||||
else
|
else
|
||||||
CMD2="chronyc -n sources"
|
CMD2="chronyc -n sources"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -131,6 +131,10 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
|
|
||||||
MESSAGE="$PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3"
|
MESSAGE="$PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3"
|
||||||
|
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
CMD="eval pkg_add -usv 2>&1 | grep -vE '(Adding quirks-|pkg_add should be run as root)' | grep ^Adding | sed -E 's/^Adding ([^:]+:)?(.*)->(.*)\(pretending\)/\2 \3/' | while read pkg ver; do name=\$(pkg_info -P \$pkg | grep -A1 ^Pkgpath:|tail -n1|cut -d/ -f2-); date \"+%a %b %e %H:%M:%S %Z %Y arch_architecture=\$(arch -s) package=\$name current_package_version=\$(echo \$pkg | sed -E \"s/\$name-//\") latest_package_version=\$ver\"; done"
|
||||||
|
#CMD="eval for f in \$(pkg_add -usv 2>&1 | grep -vE \"(Adding quirks-|pkg_add should be run as root)\" | grep ^Adding | sed -E \"s/^Adding ([^:]+:)?(.*)->(.*)\(pretending\)/\2 \3/\"); do echo \$f; done"
|
||||||
|
MESSAGE="{print}"
|
||||||
else
|
else
|
||||||
# Exits
|
# Exits
|
||||||
failUnsupportedScript
|
failUnsupportedScript
|
||||||
|
|
|
@ -18,7 +18,7 @@ fi
|
||||||
|
|
||||||
# This should work for any POSIX-compliant system, but in case it doesn't
|
# This should work for any POSIX-compliant system, but in case it doesn't
|
||||||
# we have left the individual OS names here to be broken out later on.
|
# we have left the individual OS names here to be broken out later on.
|
||||||
if [ "$KERNEL" = "Linux" ] || [ "$KERNEL" = "SunOS" ] || [ "$KERNEL" = "AIX" ] || [ "$KERNEL" = "HP-UX" ] || [ "$KERNEL" = "Darwin" ] || [ "$KERNEL" = "FreeBSD" ] ; then
|
if [ "$KERNEL" = "Linux" ] || [ "$KERNEL" = "SunOS" ] || [ "$KERNEL" = "AIX" ] || [ "$KERNEL" = "HP-UX" ] || [ "$KERNEL" = "Darwin" ] || [ "$KERNEL" = "FreeBSD" ] || [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
assertHaveCommand date
|
assertHaveCommand date
|
||||||
assertHaveCommand ps
|
assertHaveCommand ps
|
||||||
CMD='eval date; LC_ALL=POSIX ps -o etime= -p 1'
|
CMD='eval date; LC_ALL=POSIX ps -o etime= -p 1'
|
||||||
|
|
|
@ -32,7 +32,7 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
assertHaveCommand sw_vers
|
assertHaveCommand sw_vers
|
||||||
os_release=$(sw_vers --productVersion)
|
os_release=$(sw_vers --productVersion)
|
||||||
CMD="eval date ; echo MacOS ; eval uname -m ; eval uname -r ; eval uname -s ; eval uname -v ; eval uname -p; echo $os_release; echo $os_release"
|
CMD="eval date ; echo MacOS ; eval uname -m ; eval uname -r ; eval uname -s ; eval uname -v ; eval uname -p; echo $os_release; echo $os_release"
|
||||||
elif [ "$KERNEL" = "SunOS" ] [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "SunOS" ] || [ "$KERNEL" = "FreeBSD" ] || [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
assertHaveCommand date
|
assertHaveCommand date
|
||||||
assertHaveCommand uname
|
assertHaveCommand uname
|
||||||
CMD='eval date ; echo $KERNEL ; eval uname -m ; eval uname -r ; eval uname -s ; eval uname -v ; eval uname -p;'
|
CMD='eval date ; echo $KERNEL ; eval uname -m ; eval uname -r ; eval uname -s ; eval uname -v ; eval uname -p;'
|
||||||
|
|
|
@ -151,6 +151,26 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
PARSE_8='/^pgswapout / {pgSwapOut=0+$2}'
|
PARSE_8='/^pgswapout / {pgSwapOut=0+$2}'
|
||||||
MASSAGE="$FUNCS $PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3 $PARSE_4 $PARSE_5 $PARSE_6 $PARSE_7 $PARSE_8 $DERIVE"
|
MASSAGE="$FUNCS $PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3 $PARSE_4 $PARSE_5 $PARSE_6 $PARSE_7 $PARSE_8 $DERIVE"
|
||||||
FILL_BLANKS='END {cSwitches=interrupts=interrupts_PS=forks="0"}'
|
FILL_BLANKS='END {cSwitches=interrupts=interrupts_PS=forks="0"}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
CMD='eval sysctl -n hw.physmem ; vmstat -s ; top -Sb 0; `dirname $0`/hardware.sh'
|
||||||
|
FUNCS='function toMB(s) {n=0+s; if (index(s,"K")) {n /= 1024} if (index(s,"G")) {n *= 1024} return n}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_0='(NR==1) {memTotalMB=$1 / (1024*1024)}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_1='/pages being paged out$/ {pgPageOut+=$1} /forks$/ {forks+=$1} /cpu context switches$/ {cSwitches+=$1} /interrupts$/ {interrupts+=$1}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_2='/load averages:/ {loadAvg1mi=$3} /^[0-9]+ processes: / {processes=$1}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_3='/Swap: / { split($10, a, "/"); swapTotal=toMB(a[2]); swapUsed=toMB(a[1]); swapFree=swapTotal-swapFree; } /^Memory: / {memFreeMB=toMB($6)}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_4='/^CPU_COUNT/ {cpuCount=$2}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_5='($3 ~ "INTR") {nr1[NR+3]} NR in nr1 {interrupts_PS=$3}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_6='($3 ~ "pgpgin*") {nr2[NR+3]} NR in nr2 {pgPageIn_PS=$3; pgPageOut_PS=$4}'
|
||||||
|
MASSAGE="$FUNCS $PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3 $PARSE_4 $PARSE_5 $PARSE_6 $DERIVE"
|
||||||
|
FILL_BLANKS='END {threads=pgSwapOut="?"}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
CMD='eval sysctl hw.physmem ; vmstat -s ; top -Sb 0; `dirname $0`/hardware.sh'
|
CMD='eval sysctl hw.physmem ; vmstat -s ; top -Sb 0; `dirname $0`/hardware.sh'
|
||||||
|
|
|
@ -162,6 +162,27 @@ elif [ "$KERNEL" = "Darwin" ] ; then
|
||||||
PARSE_8='/^pgswapout / {pgSwapOut=0+$2}'
|
PARSE_8='/^pgswapout / {pgSwapOut=0+$2}'
|
||||||
MESSAGE="$FUNCS $PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3 $PARSE_4 $PARSE_5 $PARSE_6 $PARSE_7 $PARSE_8 $DERIVE"
|
MESSAGE="$FUNCS $PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3 $PARSE_4 $PARSE_5 $PARSE_6 $PARSE_7 $PARSE_8 $DERIVE"
|
||||||
FILL_BLANKS='END {cSwitches=interrupts=interrupts_PS=forks="0"}'
|
FILL_BLANKS='END {cSwitches=interrupts=interrupts_PS=forks="0"}'
|
||||||
|
elif [ "$KERNEL" = "OpenBSD" ] ; then
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
CMD='eval sysctl -n hw.physmem ; vmstat -s ; top -Sb 0; `dirname $0`/hardware.sh'
|
||||||
|
DEFINE="-v OSName=$(uname -s) -v OS_version=$(uname -r) -v IP_address=$(ifconfig -a | grep 'inet ' | grep -v 127.0.0.1 | cut -d\ -f2 | head -n 1)"
|
||||||
|
FUNCS='function toMB(s) {n=0+s; if (index(s,"K")) {n /= 1024} if (index(s,"G")) {n *= 1024} return n}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_0='(NR==1) {memTotalMB=$1 / (1024*1024)}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_1='/pages being paged out$/ {pgPageOut+=$1} /forks$/ {forks+=$1} /cpu context switches$/ {cSwitches+=$1} /interrupts$/ {interrupts+=$1}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_2='/load averages:/ {loadAvg1mi=$3} /^[0-9]+ processes: / {processes=$1}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_3='/Swap: / { split($10, a, "/"); swapTotal=toMB(a[2]); swapUsed=toMB(a[1]); swapFree=swapTotal-swapFree; } /^Memory: / {memFreeMB=toMB($6)}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_4='/^CPU_COUNT/ {cpuCount=$2}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_5='($3 ~ "INTR") {nr1[NR+3]} NR in nr1 {interrupts_PS=$3}'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
PARSE_6='($3 ~ "pgpgin*") {nr2[NR+3]} NR in nr2 {pgPageIn_PS=$3; pgPageOut_PS=$4}'
|
||||||
|
MESSAGE="$FUNCS $PARSE_0 $PARSE_1 $PARSE_2 $PARSE_3 $PARSE_4 $PARSE_5 $PARSE_6 $DERIVE"
|
||||||
|
FILL_BLANKS='END {threads=pgSwapOut="?"}'
|
||||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
CMD='eval sysctl hw.physmem ; vmstat -s ; top -Sb 0; `dirname $0`/hardware.sh'
|
CMD='eval sysctl hw.physmem ; vmstat -s ; top -Sb 0; `dirname $0`/hardware.sh'
|
||||||
|
|
|
@ -17,7 +17,7 @@ docs_section_override = AddOns:released
|
||||||
|
|
||||||
[launcher]
|
[launcher]
|
||||||
author = Michael Erdely
|
author = Michael Erdely
|
||||||
version = 9.2.0.8
|
version = 9.2.0.9
|
||||||
description = Technical Add-on for Unix and Linux
|
description = Technical Add-on for Unix and Linux
|
||||||
|
|
||||||
#[package]
|
#[package]
|
||||||
|
@ -26,5 +26,5 @@ description = Technical Add-on for Unix and Linux
|
||||||
|
|
||||||
[id]
|
[id]
|
||||||
name = TA-unix
|
name = TA-unix
|
||||||
version = 9.2.0.8
|
version = 9.2.0.9
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
# Technical Add-on for Unix and Linux
|
# Technical Add-on for Unix and Linux
|
||||||
|
|
||||||
|
## Version 9.2.0.9 (2025-01-25)
|
||||||
|
|
||||||
|
Support OpenBSD
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
|
||||||
|
* Add OpenBSD support to the scripts
|
||||||
|
* Fix sysctl usage for FreeBSD in a couple places
|
||||||
|
|
||||||
## Version 9.2.0.8 (2025-01-23)
|
## Version 9.2.0.8 (2025-01-23)
|
||||||
|
|
||||||
Fix df.sh and df_metric.sh
|
Fix df.sh and df_metric.sh
|
||||||
|
|
|
@ -42,9 +42,9 @@ run_hour=6
|
||||||
[ -r /etc/nix_ta.conf ] && . /etc/nix_ta.conf
|
[ -r /etc/nix_ta.conf ] && . /etc/nix_ta.conf
|
||||||
|
|
||||||
# Get the current minute now to be consistent through the script run
|
# Get the current minute now to be consistent through the script run
|
||||||
minute=$(date +%_M | tr -d ' ')
|
minute=$(printf "%d" $(date +%M))
|
||||||
# Get the current hour now to be consistent through the script run
|
# Get the current hour now to be consistent through the script run
|
||||||
hour=$(date +%_H | tr -d ' ')
|
hour=$(printf "%d" $(date +%H))
|
||||||
# Set defaults disabling force-mode and list-mode
|
# Set defaults disabling force-mode and list-mode
|
||||||
force=0
|
force=0
|
||||||
list=0
|
list=0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue