diff --git a/checks/asterisk/agent/asterisk_stats b/checks/asterisk/agent/asterisk_stats index 40b17a7..c8efd24 100644 --- a/checks/asterisk/agent/asterisk_stats +++ b/checks/asterisk/agent/asterisk_stats @@ -1,17 +1,23 @@ #!/bin/bash -echo "<<>>" -echo "sip peers $(asterisk -rx 'sip show peers' | \ - grep "sip peers" | \ - sed -e "s:\[Monitored\::monitored:" \ - -e "s:Unmonitored\::unmonitored:" \ - -e "s:\]$::")" -echo "sip users $(( $(asterisk -rx 'sip show users' | wc -l) - 1 ))" +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +printf "<<>>\n" +SIP_PEERS=( $(asterisk -rx 'sip show peers' | grep "sip peers" | grep -oE '[0-9]+') ) +printf "sip peers %u sip peers monitored %i online, %i offline unmonitored %i online, %i offline\n" "${SIP_PEERS[0]}" "${SIP_PEERS[1]}" "${SIP_PEERS[2]}" "${SIP_PEERS[3]}" "${SIP_PEERS[4]}" + +SIP_USERS=$(asterisk -rx 'sip show users' | tail -n +2 | wc -l) +printf "sip users %i\n" "$SIP_USERS" + REGS="$(asterisk -rx 'sip show registry' | wc -l)" -echo "sip registry $(asterisk -rx 'sip show registry' | \ - tail -n$(($REGS - 1)) | \ - head -n$(( $REGS - 2)) | \ - sed -e "s:\s\+:\ :g" )" -echo "sip channels $(asterisk -rx 'sip show channels' | tail -n1)" -echo "sip channelstats $(asterisk -rx 'sip show channelstats' | tail -n1)" -echo "sip calls $(asterisk -rx 'core show calls' | grep active\ call | cut -d' ' -f1)" +SIP_REGISTRY=$(asterisk -rx 'sip show registry' | tail -n$(($REGS - 1)) | head -n$(( $REGS - 2)) | sed -e "s,[[:space:]]\+, ,g") +printf "sip registry %s\n" "$SIP_REGISTRY" + +SIP_CHANNELS=$(asterisk -rx 'sip show channels' | tail -n1 | cut -d' ' -f1) +printf "sip channels %i\n" "$SIP_CHANNELS" + +SIP_CHANNELSTATS=$(asterisk -rx 'sip show channelstats' | tail -n1 | cut -d' ' -f1) +printf "sip channelstats %i\n" "$SIP_CHANNELSTATS" + +SIP_CALLS=$(asterisk -rx 'core show calls' | grep active\ call | cut -d' ' -f1) +printf "sip calls %i\n" "$SIP_CALLS"