diff --git a/roles/lmn_misc/files/reporter b/roles/lmn_misc/files/reporter new file mode 100755 index 0000000..2ee481f --- /dev/null +++ b/roles/lmn_misc/files/reporter @@ -0,0 +1,33 @@ +#!/usr/bin/bash +# +# Send stdout of some commands to monitoring server. +# Collect the reports with 'nc -u -k -l 1234' on 'sendto'. +# Use /bin/nc.openbsd, /bin/nc.traditional seems not to work. +# +set -eu + +sendto="collector.steinbeis.schule 1234" +n=0 + +cmds=( + 'uname -a' + 'tail -1 /var/local/ansible-stamps' + 'ip route list default' + 'ip link show | \ + sed -nE -e "s/^[2-9]: (\S+): .+/\1/p" -e "s/.+ether ([0-9a-f:]+) .+/\1/p" | \ + paste - -' +) +# 'w' +# 'uptime' +# 'ls -d --full-time /home/ansible/.ansible/tmp/' +# 'ip addr show' +# 'apt list --upgradeable -o Apt::Cmd::Disable-Script-Warning=true' + +r="$HOSTNAME ------- $(date --rfc-3339=seconds) ------- +$(for c in "${cmds[@]}" ; do + n=$(( n + 1 )) + echo -n "$n" + eval "$c" | sed 's/^/\t/' +done | sed "s/^/$HOSTNAME /") +## -------------------------------------------------" +echo "$r" | nc -w 1 -u $sendto diff --git a/roles/lmn_misc/templates/reporter.j2 b/roles/lmn_misc/templates/reporter.j2 index e652b55..6a19bec 100755 --- a/roles/lmn_misc/templates/reporter.j2 +++ b/roles/lmn_misc/templates/reporter.j2 @@ -16,7 +16,6 @@ cmds=( 'ip link show | \ sed -nE -e "s/^[2-9]: (\S+): .+/\1/p" -e "s/.+ether ([0-9a-f:]+) .+/\1/p" | \ paste - -' - 'systemctl --failed | grep -v "^$"' ) # 'w' # 'uptime'