From 7789cf5e792174aff5c127eb90859c46608a937b Mon Sep 17 00:00:00 2001 From: John Southworth Date: Fri, 9 Sep 2011 19:54:09 -0500 Subject: Add 'show monitoring' script to list active background monitoring --- Makefile.am | 1 + scripts/vyatta-monitor-list | 21 +++++++++++++++++++++ templates/show/monitoring/node.def | 1 + 3 files changed, 23 insertions(+) create mode 100644 scripts/vyatta-monitor-list diff --git a/Makefile.am b/Makefile.am index 9cfdfa8..f69190e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -42,6 +42,7 @@ bin_SCRIPTS += scripts/vyatta-op-cmd-wrapper bin_SCRIPTS += scripts/vyatta-ping bin_SCRIPTS += scripts/vyatta-traceroute bin_SCRIPTS += scripts/vyatta-monitor +bin_SCRIPTS += scripts/vyatta-monitor-list bin_SCRIPTS += scripts/vyatta-monitor-cleanup bin_SCRIPTS += scripts/vyatta-monitor-background bin_SCRIPTS += scripts/vyatta-monitor-background-stop diff --git a/scripts/vyatta-monitor-list b/scripts/vyatta-monitor-list new file mode 100644 index 0000000..6862f03 --- /dev/null +++ b/scripts/vyatta-monitor-list @@ -0,0 +1,21 @@ +#!/bin/bash +declare CURRENT_PTS=$(tty | sed -e s-/--g -e s/dev//g) +declare CURRENT_UID=$(id -u) +declare -a MPIDS +MPIDS=( $(ls /var/run/vyatta/monitor/*.pid 2>/dev/null) ) + +for pidfile in "${MPIDS[@]}"; do + pid=$(<$pidfile) + procname=$(cat /proc/$pid/cmdline 2>/dev/null) + if [[ "$procname" =~ "tail" ]] ; then + pts=${pidfile##*-pts} + pts=${pts%%.pid} + if [[ "pts$pts" == "$CURRENT_PTS" ]]; then + if cat /proc/$pid/status | grep -q "Uid:.*$CURRENT_UID" ; then + print=${pidfile##*/} + print=${print%%-pts$pts*} + echo $print + fi + fi + fi +done diff --git a/templates/show/monitoring/node.def b/templates/show/monitoring/node.def index 33a9848..9c16edc 100644 --- a/templates/show/monitoring/node.def +++ b/templates/show/monitoring/node.def @@ -1 +1,2 @@ help: Show currently monitored services +run: ${vyatta_bindir}/vyatta-monitor-list -- cgit v1.2.3