Update dsmon.sh
This commit is contained in:
16
dsmon.sh
16
dsmon.sh
@@ -96,6 +96,8 @@ RUN(){
|
||||
|
||||
CHECK(){
|
||||
start=`date +%s`
|
||||
|
||||
C_CW=40
|
||||
|
||||
declare -A host_ip
|
||||
declare -A host_name
|
||||
@@ -110,6 +112,9 @@ CHECK(){
|
||||
idsST=('')
|
||||
fi
|
||||
|
||||
MSG="Determining hosts and preparing"
|
||||
c=0; cw=${C_CW}; spc=''; spc1=${cw}-${#MSG}; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||
echo -en "${idsCL[LightCyan]}${MSG}${spc}: "
|
||||
while read hostid hostname hostip hostlimits; do
|
||||
if [ "$hostid" != "id" ]; then
|
||||
hostip=$(echo $hostip | cut -d ";" -f1)
|
||||
@@ -121,18 +126,23 @@ CHECK(){
|
||||
hostnames_sort+=("$hostname")
|
||||
fi
|
||||
done <<< $(MYSQL_PWD="sysmoninsert" mysql -h ${mysqlip} -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0")
|
||||
# done <<< $(MYSQL_PWD="sysmoninsert" mysql -h ${mysqlip} -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0 AND host LIKE '%WAN%'")
|
||||
|
||||
# done <<< $(MYSQL_PWD="sysmoninsert" mysql -h ${mysqlip} -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0 AND host LIKE '%WAN%'")
|
||||
IFS=$'\n' hostnames_sort=($(sort <<<"${hostnames_sort[*]}")); unset IFS
|
||||
echo -e "${idsCL[LightGreen]}Done${idsCL[Default]}"
|
||||
|
||||
MSG="Starting jobs to collect host info"
|
||||
c=0; cw=${C_CW}; spc=''; spc1=${cw}-${#MSG}; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||
echo -en "${idsCL[LightCyan]}${MSG}${spc}: "
|
||||
#for hostid in "${!host_ip[@]}"; do
|
||||
for hostname in "${hostnames_sort[@]}"; do
|
||||
RUN_CHECK ${hostname} > /tmp/dscheck.${hostname}.results 2>/dev/null &
|
||||
done
|
||||
echo -e "${idsCL[LightGreen]}Done${idsCL[Default]}"
|
||||
echo
|
||||
|
||||
nc_count=0; completed=false; scanstart=$(date +%s)
|
||||
until [ "${completed}" == "true" ]; do
|
||||
for host in /tmp/dscheck.*.done; do
|
||||
for host in /tmp/dscheck.*.done >/dev/null 2>&1; do
|
||||
NTS=$(grep -oP '(?<=dscheck.).*?(?=.done)' <<< "${nodestatus}")
|
||||
if [ "${NTS}" != "*" ]; then
|
||||
hoststatus=$(cat /tmp/dscheck.${NTS}.results)
|
||||
|
||||
Reference in New Issue
Block a user