diff --git a/plugins/emc/emc_vnx_block_lun_perfdata b/plugins/emc/emc_vnx_block_lun_perfdata index b7efef23..83b214d2 100755 --- a/plugins/emc/emc_vnx_block_lun_perfdata +++ b/plugins/emc/emc_vnx_block_lun_perfdata @@ -158,142 +158,179 @@ LUNLIST="$($SSH $NAVICLI lun -list -drivetype | sed -ne 's/^Name:\ *//p')" echo -e "host_name ${TARGET}\n" if [ "$1" = "config" ] ; then - echo "multigraph emc_vnx_block_blocks -graph_category disk -graph_title EMC VNX 5300 LUN Blocks -graph_vlabel Blocks Read (-) / Written (+) -graph_args --base 1000" + cat <<-EOF + multigraph emc_vnx_block_blocks + graph_category disk + graph_title EMC VNX 5300 LUN Blocks + graph_vlabel Blocks Read (-) / Written (+) + graph_args --base 1000 + + EOF + while read -r LUN ; do - echo "${LUN}_read.label none -${LUN}_read.graph no -${LUN}_read.min 0 -${LUN}_read.draw AREA -${LUN}_read.type COUNTER -${LUN}_write.label $LUN Blocks -${LUN}_write.negative ${LUN}_read -${LUN}_write.type COUNTER -${LUN}_write.min 0 -${LUN}_write.draw STACK" + cat <<-EOF + ${LUN}_read.label none + ${LUN}_read.graph no + ${LUN}_read.min 0 + ${LUN}_read.draw AREA + ${LUN}_read.type COUNTER + ${LUN}_write.label $LUN Blocks + ${LUN}_write.negative ${LUN}_read + ${LUN}_write.type COUNTER + ${LUN}_write.min 0 + ${LUN}_write.draw STACK + EOF done <<< $LUNLIST - echo -e "\nmultigraph emc_vnx_block_req -graph_category disk -graph_title EMC VNX 5300 LUN Requests -graph_vlabel Requests: Read (-) / Write (+) -graph_args --base 1000" + cat <<-EOF + + multigraph emc_vnx_block_req + graph_category disk + graph_title EMC VNX 5300 LUN Requests + graph_vlabel Requests: Read (-) / Write (+) + graph_args --base 1000 + + EOF while read -r LUN ; do - echo "${LUN}_readreq.label none -${LUN}_readreq.graph no -${LUN}_readreq.min 0 -${LUN}_readreq.type COUNTER -${LUN}_writereq.label $LUN Requests -${LUN}_writereq.negative ${LUN}_readreq -${LUN}_writereq.type COUNTER -${LUN}_writereq.min 0" + cat <<-EOF + ${LUN}_readreq.label none + ${LUN}_readreq.graph no + ${LUN}_readreq.min 0 + ${LUN}_readreq.type COUNTER + ${LUN}_writereq.label $LUN Requests + ${LUN}_writereq.negative ${LUN}_readreq + ${LUN}_writereq.type COUNTER + ${LUN}_writereq.min 0 + EOF done <<< $LUNLIST - echo -e "\nmultigraph emc_vnx_block_ticks -graph_category disk -graph_title EMC VNX 5300 Counted Load per LUN -graph_vlabel Load, % * Number of LUNs -graph_args --base 1000 -l 0 -r " -echo -n "graph_order " + cat <<-EOF + + multigraph emc_vnx_block_ticks + graph_category disk + graph_title EMC VNX 5300 Counted Load per LUN + graph_vlabel Load, % * Number of LUNs + graph_args --base 1000 -l 0 -r + EOF + echo -n "graph_order " while read -r LUN ; do echo -n "${LUN}_busyticks ${LUN}_idleticks ${LUN}_bta=${LUN}_busyticks_spa ${LUN}_idleticks_spa ${LUN}_btb=${LUN}_busyticks_spb ${LUN}_idleticks_spb " done <<< $LUNLIST echo "" while read -r LUN ; do - echo "${LUN}_busyticks_spa.label $LUN Busy Ticks SPA -${LUN}_busyticks_spa.type COUNTER -${LUN}_busyticks_spa.graph no -${LUN}_bta.label $LUN Busy Ticks SPA -${LUN}_bta.graph no -${LUN}_idleticks_spa.label $LUN Idle Ticks SPA -${LUN}_idleticks_spa.type COUNTER -${LUN}_idleticks_spa.graph no -${LUN}_busyticks_spb.label $LUN Busy Ticks SPB -${LUN}_busyticks_spb.type COUNTER -${LUN}_busyticks_spb.graph no -${LUN}_btb.label $LUN Busy Ticks SPB -${LUN}_btb.graph no -${LUN}_idleticks_spb.label $LUN Idle Ticks SPB -${LUN}_idleticks_spb.type COUNTER -${LUN}_idleticks_spb.graph no" - -echo "${LUN}_load_spa.label $LUN load SPA -${LUN}_load_spa.draw AREASTACK -${LUN}_load_spb.label $LUN load SPB -${LUN}_load_spb.draw AREASTACK -${LUN}_load_spa.cdef 100,${LUN}_bta,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/,* -${LUN}_load_spb.cdef 100,${LUN}_btb,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/,* -" + cat <<-EOF + ${LUN}_busyticks_spa.label $LUN Busy Ticks SPA + ${LUN}_busyticks_spa.type COUNTER + ${LUN}_busyticks_spa.graph no + ${LUN}_bta.label $LUN Busy Ticks SPA + ${LUN}_bta.graph no + ${LUN}_idleticks_spa.label $LUN Idle Ticks SPA + ${LUN}_idleticks_spa.type COUNTER + ${LUN}_idleticks_spa.graph no + ${LUN}_busyticks_spb.label $LUN Busy Ticks SPB + ${LUN}_busyticks_spb.type COUNTER + ${LUN}_busyticks_spb.graph no + ${LUN}_btb.label $LUN Busy Ticks SPB + ${LUN}_btb.graph no + ${LUN}_idleticks_spb.label $LUN Idle Ticks SPB + ${LUN}_idleticks_spb.type COUNTER + ${LUN}_idleticks_spb.graph no + ${LUN}_load_spa.label $LUN load SPA + ${LUN}_load_spa.draw AREASTACK + ${LUN}_load_spb.label $LUN load SPB + ${LUN}_load_spb.draw AREASTACK + ${LUN}_load_spa.cdef 100,${LUN}_bta,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/,* + ${LUN}_load_spb.cdef 100,${LUN}_btb,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/,* + EOF done <<< $LUNLIST - echo -e "\nmultigraph emc_vnx_block_outstanding -graph_category disk -graph_title EMC VNX 5300 Sum of Outstanding Requests -graph_vlabel Requests -graph_args --base 1000" + cat <<-EOF + + multigraph emc_vnx_block_outstanding + graph_category disk + graph_title EMC VNX 5300 Sum of Outstanding Requests + graph_vlabel Requests + graph_args --base 1000 + EOF while read -r LUN ; do - echo "${LUN}_outstandsum.label $LUN -${LUN}_outstandsum.type COUNTER" + cat <<-EOF + ${LUN}_outstandsum.label $LUN + ${LUN}_outstandsum.type COUNTER + EOF done <<< $LUNLIST - echo -e "\nmultigraph emc_vnx_block_nonzeroreq -graph_category disk -graph_title EMC VNX 5300 Non-Zero Request Count Arrivals -graph_vlabel Count Arrivals -graph_args --base 1000" + cat <<-EOF + + multigraph emc_vnx_block_nonzeroreq + graph_category disk + graph_title EMC VNX 5300 Non-Zero Request Count Arrivals + graph_vlabel Count Arrivals + graph_args --base 1000 + EOF while read -r LUN ; do - echo "${LUN}_nonzeroreq.label $LUN -${LUN}_nonzeroreq.type COUNTER" + cat <<-EOF + ${LUN}_nonzeroreq.label $LUN + ${LUN}_nonzeroreq.type COUNTER + EOF done <<< $LUNLIST - echo -e "\nmultigraph emc_vnx_block_trespasses -graph_category disk -graph_title EMC VNX 5300 Trespasses -graph_vlabel Trespasses" + cat <<-EOF + + multigraph emc_vnx_block_trespasses + graph_category disk + graph_title EMC VNX 5300 Trespasses + graph_vlabel Trespasses + EOF while read -r LUN ; do - echo "${LUN}_implic_tr.label ${LUN} Implicit Trespasses -${LUN}_explic_tr.label ${LUN} Explicit Trespasses" + cat <<-EOF + ${LUN}_implic_tr.label ${LUN} Implicit Trespasses + ${LUN}_explic_tr.label ${LUN} Explicit Trespasses + EOF done <<< $LUNLIST - echo -e "\nmultigraph emc_vnx_block_queue -graph_category disk -graph_title EMC VNX 5300 Counted Block Queue Length -graph_vlabel Length" + cat <<-EOF + + multigraph emc_vnx_block_queue + graph_category disk + graph_title EMC VNX 5300 Counted Block Queue Length + graph_vlabel Length + EOF while read -r LUN ; do - echo "${LUN}_busyticks_spa.label ${LUN} -${LUN}_busyticks_spa.graph no -${LUN}_busyticks_spa.type COUNTER -${LUN}_idleticks_spa.label ${LUN} -${LUN}_idleticks_spa.graph no -${LUN}_idleticks_spa.type COUNTER -${LUN}_busyticks_spb.label ${LUN} -${LUN}_busyticks_spb.graph no -${LUN}_busyticks_spb.type COUNTER -${LUN}_idleticks_spb.label ${LUN} -${LUN}_idleticks_spb.graph no -${LUN}_idleticks_spb.type COUNTER -${LUN}_outstandsum.label ${LUN} -${LUN}_outstandsum.graph no -${LUN}_outstandsum.type COUNTER -${LUN}_nonzeroreq.label ${LUN} -${LUN}_nonzeroreq.graph no -${LUN}_nonzeroreq.type COUNTER -${LUN}_readreq.label ${LUN} -${LUN}_readreq.graph no -${LUN}_readreq.type COUNTER -${LUN}_writereq.label ${LUN} -${LUN}_writereq.graph no -${LUN}_writereq.type COUNTER" + cat <<-EOF + ${LUN}_busyticks_spa.label ${LUN} + ${LUN}_busyticks_spa.graph no + ${LUN}_busyticks_spa.type COUNTER + ${LUN}_idleticks_spa.label ${LUN} + ${LUN}_idleticks_spa.graph no + ${LUN}_idleticks_spa.type COUNTER + ${LUN}_busyticks_spb.label ${LUN} + ${LUN}_busyticks_spb.graph no + ${LUN}_busyticks_spb.type COUNTER + ${LUN}_idleticks_spb.label ${LUN} + ${LUN}_idleticks_spb.graph no + ${LUN}_idleticks_spb.type COUNTER + ${LUN}_outstandsum.label ${LUN} + ${LUN}_outstandsum.graph no + ${LUN}_outstandsum.type COUNTER + ${LUN}_nonzeroreq.label ${LUN} + ${LUN}_nonzeroreq.graph no + ${LUN}_nonzeroreq.type COUNTER + ${LUN}_readreq.label ${LUN} + ${LUN}_readreq.graph no + ${LUN}_readreq.type COUNTER + ${LUN}_writereq.label ${LUN} + ${LUN}_writereq.graph no + ${LUN}_writereq.type COUNTER + EOF # Queue Length SPA = ((Sum of Outstanding Requests SPA - NonZero Request Count Arrivals SPA / 2)/(Host Read Requests SPA + Host Write Requests SPA))* # (Busy Ticks SPA/(Busy Ticks SPA + Idle Ticks SPA) # We count together SPA and SPB, although it is not fully corrext - echo "${LUN}_ql_l_a.label ${LUN} Queue Length SPA -${LUN}_ql_l_a.cdef ${LUN}_outstandsum,${LUN}_nonzeroreq,2,/,-,${LUN}_readreq,${LUN}_writereq,+,/,${LUN}_busyticks_spa,*,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/ -${LUN}_ql_l_b.label ${LUN} Queue Length SPB -${LUN}_ql_l_b.cdef ${LUN}_outstandsum,${LUN}_nonzeroreq,2,/,-,${LUN}_readreq,${LUN}_writereq,+,/,${LUN}_busyticks_spb,*,${LUN}_busyticks_spb,${LUN}_idleticks_spb,+,/" + cat <<-EOF + ${LUN}_ql_l_a.label ${LUN} Queue Length SPA + ${LUN}_ql_l_a.cdef ${LUN}_outstandsum,${LUN}_nonzeroreq,2,/,-,${LUN}_readreq,${LUN}_writereq,+,/,${LUN}_busyticks_spa,*,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/ + ${LUN}_ql_l_b.label ${LUN} Queue Length SPB + ${LUN}_ql_l_b.cdef ${LUN}_outstandsum,${LUN}_nonzeroreq,2,/,-,${LUN}_readreq,${LUN}_writereq,+,/,${LUN}_busyticks_spb,*,${LUN}_busyticks_spb,${LUN}_idleticks_spb,+,/ + EOF done <<< $LUNLIST exit 0 fi diff --git a/plugins/emc/emc_vnx_file_ b/plugins/emc/emc_vnx_file_ index 82242e14..6645307f 100755 --- a/plugins/emc/emc_vnx_file_ +++ b/plugins/emc/emc_vnx_file_ @@ -87,12 +87,12 @@ ssh_check() { check_conf () { if [ -z "$username" ]; then - echo "No username!" + echo "No username ('username' environment variable)!" return 1 fi if [ -z "$cs_addr" ]; then - echo "No control station addresses!" + echo "No control station addresses ('cs_addr' environment variable)!" return 1 fi @@ -153,201 +153,228 @@ if [ "$1" = "config" ] ; then nas_server_ok=TRUE if [ $STATSTYPE = "BASICDM" ] ; then - echo "multigraph emc_vnx_cpu_percent -graph_title EMC VNX 5300 Datamover CPU Util % -graph_vlabel % -graph_category cpu -graph_scale no -graph_args --upper-limit 100 -l 0 -${server}_cpuutil.min 0 -${server}_cpuutil.label $server CPU util. in %." + cat <<-EOF + multigraph emc_vnx_cpu_percent + graph_title EMC VNX 5300 Datamover CPU Util % + graph_vlabel % + graph_category cpu + graph_scale no + graph_args --upper-limit 100 -l 0 + ${server}_cpuutil.min 0 + ${server}_cpuutil.label $server CPU util. in %. - echo -e "\nmultigraph emc_vnx_network_kib -graph_title EMC VNX 5300 Datamover Network bytes over all interfaces -graph_vlabel B/s recv. (-) / sent (+) -graph_category network -graph_args --base 1000 -${server}_net_in.graph no -${server}_net_in.label none -${server}_net_in.cdef ${server}_net_in,1000,* -${server}_net_out.label $server B/s -${server}_net_out.cdef ${server}_net_out,1000,* -${server}_net_out.negative ${server}_net_in -${server}_net_out.draw AREA" + multigraph emc_vnx_network_kib + graph_title EMC VNX 5300 Datamover Network bytes over all interfaces + graph_vlabel B/s recv. (-) / sent (+) + graph_category network + graph_args --base 1000 + ${server}_net_in.graph no + ${server}_net_in.label none + ${server}_net_in.cdef ${server}_net_in,1000,* + ${server}_net_out.label $server B/s + ${server}_net_out.cdef ${server}_net_out,1000,* + ${server}_net_out.negative ${server}_net_in + ${server}_net_out.draw AREA - echo -e "\nmultigraph emc_vnx_storage_kib -graph_title EMC VNX 5300 Datamover Storage bytes over all interfaces -graph_vlabel B/s recv. (-) / sent (+) -graph_category network -graph_args --base 1000 -${server}_stor_read.graph no -${server}_stor_read.label none -${server}_stor_read.cdef ${server}_stor_read,1000,* -${server}_stor_write.label $server B/s -${server}_stor_write.cdef ${server}_stor_write,1000,* -${server}_stor_write.negative ${server}_stor_read -${server}_stor_write.draw AREA" + multigraph emc_vnx_storage_kib + graph_title EMC VNX 5300 Datamover Storage bytes over all interfaces + graph_vlabel B/s recv. (-) / sent (+) + graph_category network + graph_args --base 1000 + ${server}_stor_read.graph no + ${server}_stor_read.label none + ${server}_stor_read.cdef ${server}_stor_read,1000,* + ${server}_stor_write.label $server B/s + ${server}_stor_write.cdef ${server}_stor_write,1000,* + ${server}_stor_write.negative ${server}_stor_read + ${server}_stor_write.draw AREA - echo -e "\nmultigraph emc_vnx_memory -graph_title EMC VNX 5300 Datamover Memory -graph_vlabel MiB -graph_category memory -graph_args --base 1024 -graph_order ${server}_used ${server}_free ${server}_total ${server}_freebuffer ${server}_encumbered -${server}_used.label ${server} Used -${server}_used.cdef ${server}_used,1024,/ -${server}_free.label ${server} Free -${server}_free.draw STACK -${server}_free.cdef ${server}_free,1024,/ -${server}_total.label ${server} Total -${server}_total.cdef ${server}_total,1024,/ -${server}_freebuffer.label ${server} Free Buffer -${server}_freebuffer.cdef ${server}_freebuffer,1024,/ -${server}_encumbered.label ${server} Encumbered -${server}_encumbered.cdef ${server}_encumbered,1024,/" - -echo -e "\nmultigraph emc_vnx_filecache -graph_title EMC VNX 5300 File Buffer Cache -graph_vlabel per second -graph_category memory -graph_args --base 1000 -graph_order ${server}_highw_hits ${server}_loww_hits ${server}_w_hits ${server}_hits ${server}_lookups -${server}_highw_hits.label High Watermark Hits -${server}_loww_hits.label Low Watermark Hits -${server}_loww_hits.draw STACK -${server}_w_hits.label Watermark Hits -${server}_hits.label Hits -${server}_lookups.label Lookups" - - echo -e "\nmultigraph emc_vnx_fileresolve -graph_title EMC VNX 5300 FileResolve -graph_vlabel Entries -graph_category memory -graph_args --base 1000 -${server}_dropped.label Dropped Entries -${server}_max.label Max Limit -${server}_used.label Used Entries" - fi + multigraph emc_vnx_memory + graph_title EMC VNX 5300 Datamover Memory + graph_vlabel MiB + graph_category memory + graph_args --base 1024 + graph_order ${server}_used ${server}_free ${server}_total ${server}_freebuffer ${server}_encumbered + ${server}_used.label ${server} Used + ${server}_used.cdef ${server}_used,1024,/ + ${server}_free.label ${server} Free + ${server}_free.draw STACK + ${server}_free.cdef ${server}_free,1024,/ + ${server}_total.label ${server} Total + ${server}_total.cdef ${server}_total,1024,/ + ${server}_freebuffer.label ${server} Free Buffer + ${server}_freebuffer.cdef ${server}_freebuffer,1024,/ + ${server}_encumbered.label ${server} Encumbered + ${server}_encumbered.cdef ${server}_encumbered,1024,/ + + multigraph emc_vnx_filecache + graph_title EMC VNX 5300 File Buffer Cache + graph_vlabel per second + graph_category memory + graph_args --base 1000 + graph_order ${server}_highw_hits ${server}_loww_hits ${server}_w_hits ${server}_hits ${server}_lookups + ${server}_highw_hits.label High Watermark Hits + ${server}_loww_hits.label Low Watermark Hits + ${server}_loww_hits.draw STACK + ${server}_w_hits.label Watermark Hits + ${server}_hits.label Hits + ${server}_lookups.label Lookups + + multigraph emc_vnx_fileresolve + graph_title EMC VNX 5300 FileResolve + graph_vlabel Entries + graph_category memory + graph_args --base 1000 + ${server}_dropped.label Dropped Entries + ${server}_max.label Max Limit + ${server}_used.label Used Entries + EOF + fi if [ $STATSTYPE = "NFS" ] ; then #nfs.v3.op data - member_elements=$($SSH server_stats $server -info nfs.v3.op | grep member_elements | sed -ne 's/^.*= //p') - IFS=',' read -ra graphs <<< $member_elements - echo "multigraph vnx_emc_v3_calls_s -graph_title EMC VNX 5300 NFSv3 Calls per second -graph_vlabel Calls -graph_category nfs -graph_args --base 1000" - for graph in "${graphs[@]}"; do - field=$(echo "$graph" | cut -d '.' -f4 ) - echo "${server}_$field.label $server $field" - done + member_elements=$($SSH server_stats $server -info nfs.v3.op | grep member_elements | sed -ne 's/^.*= //p') + IFS=',' read -ra graphs <<< $member_elements + cat <<-EOF + multigraph vnx_emc_v3_calls_s + graph_title EMC VNX 5300 NFSv3 Calls per second + graph_vlabel Calls + graph_category nfs + graph_args --base 1000 + EOF + for graph in "${graphs[@]}"; do + field=$(echo "$graph" | cut -d '.' -f4 ) + echo "${server}_$field.label $server $field" + done - echo -e "\nmultigraph vnx_emc_v3_usec_call -graph_title EMC VNX 5300 NFSv3 uSeconds per call -graph_vlabel uSec / call -graph_category nfs -graph_args --base 1000" - for graph in "${graphs[@]}"; do - field=$(echo "$graph" | cut -d '.' -f4 ) - echo "${server}_$field.label $server $field" - done - echo -e "\nmultigraph vnx_emc_v3_op_percent -graph_title EMC VNX 5300 NFSv3 Op % -graph_vlabel % -graph_scale no -graph_category nfs" - for graph in "${graphs[@]}"; do - field=$(echo "$graph" | cut -d '.' -f4 ) - echo "${server}_$field.label $server $field" - echo "${server}_$field.min 0" - done - graphs=() + cat <<-EOF + + multigraph vnx_emc_v3_usec_call + graph_title EMC VNX 5300 NFSv3 uSeconds per call + graph_vlabel uSec / call + graph_category nfs + graph_args --base 1000 + EOF + for graph in "${graphs[@]}"; do + field=$(echo "$graph" | cut -d '.' -f4 ) + echo "${server}_$field.label $server $field" + done + cat <<-EOF + + multigraph vnx_emc_v3_op_percent + graph_title EMC VNX 5300 NFSv3 Op % + graph_vlabel % + graph_scale no + graph_category nfs + EOF + for graph in "${graphs[@]}"; do + field=$(echo "$graph" | cut -d '.' -f4 ) + echo "${server}_$field.label $server $field" + echo "${server}_$field.min 0" + done + graphs=() #nfs.v4.op data - member_elements=$($SSH server_stats $server -info nfs.v4.op | grep member_elements | sed -ne 's/^.*= //p') - IFS=',' read -ra graphs <<< $member_elements - echo "multigraph vnx_emc_v4_calls_s -graph_title EMC VNX 5300 NFSv4 Calls per second -graph_vlabel Calls -graph_category nfs -graph_args --base 1000" - for graph in "${graphs[@]}"; do - field=$(echo "$graph" | cut -d '.' -f4 ) - echo "${server}_$field.label $server $field" - done + member_elements=$($SSH server_stats $server -info nfs.v4.op | grep member_elements | sed -ne 's/^.*= //p') + IFS=',' read -ra graphs <<< $member_elements + cat <<-EOF + multigraph vnx_emc_v4_calls_s + graph_title EMC VNX 5300 NFSv4 Calls per second + graph_vlabel Calls + graph_category nfs + graph_args --base 1000 + EOF + for graph in "${graphs[@]}"; do + field=$(echo "$graph" | cut -d '.' -f4 ) + echo "${server}_$field.label $server $field" + done - echo -e "\nmultigraph vnx_emc_v4_usec_call -graph_title EMC VNX 5300 NFSv4 uSeconds per call -graph_vlabel uSec / call -graph_category nfs -graph_args --base 1000" - for graph in "${graphs[@]}"; do - field=$(echo "$graph" | cut -d '.' -f4 ) - echo "${server}_$field.label $server $field" - done - echo -e "\nmultigraph vnx_emc_v4_op_percent -graph_title EMC VNX 5300 NFSv4 Op % -graph_vlabel % -graph_scale no -graph_category nfs" - for graph in "${graphs[@]}"; do - field=$(echo "$graph" | cut -d '.' -f4 ) - echo "${server}_$field.label $server $field" - echo "${server}_$field.min 0" - done + cat <<-EOF + + multigraph vnx_emc_v4_usec_call + graph_title EMC VNX 5300 NFSv4 uSeconds per call + graph_vlabel uSec / call + graph_category nfs + graph_args --base 1000 + EOF + for graph in "${graphs[@]}"; do + field=$(echo "$graph" | cut -d '.' -f4 ) + echo "${server}_$field.label $server $field" + done + cat <<-EOF + + multigraph vnx_emc_v4_op_percent + graph_title EMC VNX 5300 NFSv4 Op % + graph_vlabel % + graph_scale no + graph_category nfs + EOF + for graph in "${graphs[@]}"; do + field=$(echo "$graph" | cut -d '.' -f4 ) + echo "${server}_$field.label $server $field" + echo "${server}_$field.min 0" + done #nfs.client data # Total Read Write Suspicious Total Read Write Avg # Ops/s Ops/s Ops/s Ops diff KiB/s KiB/s KiB/s uSec/call - member_elements=$($SSH server_stats server_2 -monitor nfs.client -count 1 -terminationsummary no -titles never | sed -ne 's/^.*id=//p' | cut -d' ' -f1) - readarray graphs2 <<< $member_elements - echo -e "\nmultigraph vnx_emc_nfs_client_ops_s -graph_title EMC VNX 5300 NFS Client Ops/s -graph_vlabel Ops/s -graph_category nfs" - echo -n "graph_order " - for graph in "${graphs2[@]}"; do - field=$(echo "$graph" | sed -ne 's/\./_/pg' ) - echo -n "${server}_${field}_r ${server}_${field}_w ${server}_${field}_t ${server}_${field}_s " - done - echo " " - for graph in "${graphs2[@]}"; do - field=$(echo "$graph" | sed -ne 's/\./_/pg' ) - echo "${server}_${field}_r.label $server $field Read Ops/s" - echo "${server}_${field}_w.label $server $field Write Ops/s" - echo "${server}_${field}_w.draw STACK" - echo "${server}_${field}_t.label $server $field Total Ops/s" - echo "${server}_${field}_s.label $server $field Suspicious Ops diff" - done + member_elements=$($SSH server_stats server_2 -monitor nfs.client -count 1 -terminationsummary no -titles never | sed -ne 's/^.*id=//p' | cut -d' ' -f1) + readarray graphs2 <<< $member_elements + cat <<-EOF - echo -e "\nmultigraph vnx_emc_nfs_client_kib_s -graph_title EMC VNX 5300 NFS Client B/s -graph_vlabel B/s -graph_category nfs" - echo -n "graph_order " - for graph in "${graphs2[@]}"; do - field=$(echo "$graph" | sed -ne 's/\./_/pg' ) - echo -n "${server}_${field}_r ${server}_${field}_w ${server}_${field}_t " - done - echo " " - for graph in "${graphs2[@]}"; do - field=$(echo "$graph" | sed -ne 's/\./_/pg' ) - echo "${server}_${field}_r.label $server $field Read B/s" - echo "${server}_${field}_r.cdef ${server}_${field}_r,1024,*" - echo "${server}_${field}_w.label $server $field Write B/s" - echo "${server}_${field}_w.cdef ${server}_${field}_w,1024,*" - echo "${server}_${field}_w.draw STACK" - echo "${server}_${field}_t.label $server $field Total B/s" - echo "${server}_${field}_t.cdef ${server}_${field}_t,1024,*" - done + multigraph vnx_emc_nfs_client_ops_s + graph_title EMC VNX 5300 NFS Client Ops/s + graph_vlabel Ops/s + graph_category nfs + EOF + echo -n "graph_order " + for graph in "${graphs2[@]}"; do + field=$(echo "$graph" | sed -ne 's/\./_/pg' ) + echo -n "${server}_${field}_r ${server}_${field}_w ${server}_${field}_t ${server}_${field}_s " + done + echo " " + for graph in "${graphs2[@]}"; do + field=$(echo "$graph" | sed -ne 's/\./_/pg' ) + echo "${server}_${field}_r.label $server $field Read Ops/s" + echo "${server}_${field}_w.label $server $field Write Ops/s" + echo "${server}_${field}_w.draw STACK" + echo "${server}_${field}_t.label $server $field Total Ops/s" + echo "${server}_${field}_s.label $server $field Suspicious Ops diff" + done - echo -e "\nmultigraph vnx_emc_nfs_client_avg_usec -graph_title EMC VNX 5300 NFS Client Avg uSec/call -graph_vlabel uSec/call -graph_category nfs" - for graph in "${graphs2[@]}"; do - field=$(echo "$graph" | sed -ne 's/\./_/pg' ) - echo "${server}_${field}.label $server $field Avg uSec/call" - done + cat <<-EOF + + multigraph vnx_emc_nfs_client_kib_s + graph_title EMC VNX 5300 NFS Client B/s + graph_vlabel B/s + graph_category nfs + EOF + echo -n "graph_order " + for graph in "${graphs2[@]}"; do + field=$(echo "$graph" | sed -ne 's/\./_/pg' ) + echo -n "${server}_${field}_r ${server}_${field}_w ${server}_${field}_t " + done + echo " " + for graph in "${graphs2[@]}"; do + field=$(echo "$graph" | sed -ne 's/\./_/pg' ) + echo "${server}_${field}_r.label $server $field Read B/s" + echo "${server}_${field}_r.cdef ${server}_${field}_r,1024,*" + echo "${server}_${field}_w.label $server $field Write B/s" + echo "${server}_${field}_w.cdef ${server}_${field}_w,1024,*" + echo "${server}_${field}_w.draw STACK" + echo "${server}_${field}_t.label $server $field Total B/s" + echo "${server}_${field}_t.cdef ${server}_${field}_t,1024,*" + done + + cat <<-EOF + + multigraph vnx_emc_nfs_client_avg_usec + graph_title EMC VNX 5300 NFS Client Avg uSec/call + graph_vlabel uSec/call + graph_category nfs + EOF + for graph in "${graphs2[@]}"; do + field=$(echo "$graph" | sed -ne 's/\./_/pg' ) + echo "${server}_${field}.label $server $field Avg uSec/call" + done fi done if [ -z $nas_server_ok ]; then