1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-22 14:16:00 +00:00
This commit is contained in:
Diver 2016-12-26 23:31:37 +03:00
parent e889ffd037
commit 9c2aabf4d6
2 changed files with 357 additions and 293 deletions

View file

@ -158,142 +158,179 @@ LUNLIST="$($SSH $NAVICLI lun -list -drivetype | sed -ne 's/^Name:\ *//p')"
echo -e "host_name ${TARGET}\n" echo -e "host_name ${TARGET}\n"
if [ "$1" = "config" ] ; then if [ "$1" = "config" ] ; then
echo "multigraph emc_vnx_block_blocks cat <<-EOF
graph_category disk multigraph emc_vnx_block_blocks
graph_title EMC VNX 5300 LUN Blocks graph_category disk
graph_vlabel Blocks Read (-) / Written (+) graph_title EMC VNX 5300 LUN Blocks
graph_args --base 1000" graph_vlabel Blocks Read (-) / Written (+)
graph_args --base 1000
EOF
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_read.label none cat <<-EOF
${LUN}_read.graph no ${LUN}_read.label none
${LUN}_read.min 0 ${LUN}_read.graph no
${LUN}_read.draw AREA ${LUN}_read.min 0
${LUN}_read.type COUNTER ${LUN}_read.draw AREA
${LUN}_write.label $LUN Blocks ${LUN}_read.type COUNTER
${LUN}_write.negative ${LUN}_read ${LUN}_write.label $LUN Blocks
${LUN}_write.type COUNTER ${LUN}_write.negative ${LUN}_read
${LUN}_write.min 0 ${LUN}_write.type COUNTER
${LUN}_write.draw STACK" ${LUN}_write.min 0
${LUN}_write.draw STACK
EOF
done <<< $LUNLIST done <<< $LUNLIST
echo -e "\nmultigraph emc_vnx_block_req cat <<-EOF
graph_category disk
graph_title EMC VNX 5300 LUN Requests multigraph emc_vnx_block_req
graph_vlabel Requests: Read (-) / Write (+) graph_category disk
graph_args --base 1000" graph_title EMC VNX 5300 LUN Requests
graph_vlabel Requests: Read (-) / Write (+)
graph_args --base 1000
EOF
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_readreq.label none cat <<-EOF
${LUN}_readreq.graph no ${LUN}_readreq.label none
${LUN}_readreq.min 0 ${LUN}_readreq.graph no
${LUN}_readreq.type COUNTER ${LUN}_readreq.min 0
${LUN}_writereq.label $LUN Requests ${LUN}_readreq.type COUNTER
${LUN}_writereq.negative ${LUN}_readreq ${LUN}_writereq.label $LUN Requests
${LUN}_writereq.type COUNTER ${LUN}_writereq.negative ${LUN}_readreq
${LUN}_writereq.min 0" ${LUN}_writereq.type COUNTER
${LUN}_writereq.min 0
EOF
done <<< $LUNLIST done <<< $LUNLIST
echo -e "\nmultigraph emc_vnx_block_ticks cat <<-EOF
graph_category disk
graph_title EMC VNX 5300 Counted Load per LUN multigraph emc_vnx_block_ticks
graph_vlabel Load, % * Number of LUNs graph_category disk
graph_args --base 1000 -l 0 -r " graph_title EMC VNX 5300 Counted Load per LUN
echo -n "graph_order " graph_vlabel Load, % * Number of LUNs
graph_args --base 1000 -l 0 -r
EOF
echo -n "graph_order "
while read -r LUN ; do 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 " echo -n "${LUN}_busyticks ${LUN}_idleticks ${LUN}_bta=${LUN}_busyticks_spa ${LUN}_idleticks_spa ${LUN}_btb=${LUN}_busyticks_spb ${LUN}_idleticks_spb "
done <<< $LUNLIST done <<< $LUNLIST
echo "" echo ""
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_busyticks_spa.label $LUN Busy Ticks SPA cat <<-EOF
${LUN}_busyticks_spa.type COUNTER ${LUN}_busyticks_spa.label $LUN Busy Ticks SPA
${LUN}_busyticks_spa.graph no ${LUN}_busyticks_spa.type COUNTER
${LUN}_bta.label $LUN Busy Ticks SPA ${LUN}_busyticks_spa.graph no
${LUN}_bta.graph no ${LUN}_bta.label $LUN Busy Ticks SPA
${LUN}_idleticks_spa.label $LUN Idle Ticks SPA ${LUN}_bta.graph no
${LUN}_idleticks_spa.type COUNTER ${LUN}_idleticks_spa.label $LUN Idle Ticks SPA
${LUN}_idleticks_spa.graph no ${LUN}_idleticks_spa.type COUNTER
${LUN}_busyticks_spb.label $LUN Busy Ticks SPB ${LUN}_idleticks_spa.graph no
${LUN}_busyticks_spb.type COUNTER ${LUN}_busyticks_spb.label $LUN Busy Ticks SPB
${LUN}_busyticks_spb.graph no ${LUN}_busyticks_spb.type COUNTER
${LUN}_btb.label $LUN Busy Ticks SPB ${LUN}_busyticks_spb.graph no
${LUN}_btb.graph no ${LUN}_btb.label $LUN Busy Ticks SPB
${LUN}_idleticks_spb.label $LUN Idle Ticks SPB ${LUN}_btb.graph no
${LUN}_idleticks_spb.type COUNTER ${LUN}_idleticks_spb.label $LUN Idle Ticks SPB
${LUN}_idleticks_spb.graph no" ${LUN}_idleticks_spb.type COUNTER
${LUN}_idleticks_spb.graph no
echo "${LUN}_load_spa.label $LUN load SPA ${LUN}_load_spa.label $LUN load SPA
${LUN}_load_spa.draw AREASTACK ${LUN}_load_spa.draw AREASTACK
${LUN}_load_spb.label $LUN load SPB ${LUN}_load_spb.label $LUN load SPB
${LUN}_load_spb.draw AREASTACK ${LUN}_load_spb.draw AREASTACK
${LUN}_load_spa.cdef 100,${LUN}_bta,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/,* ${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,+,/,* ${LUN}_load_spb.cdef 100,${LUN}_btb,${LUN}_busyticks_spa,${LUN}_idleticks_spa,+,/,*
" EOF
done <<< $LUNLIST done <<< $LUNLIST
echo -e "\nmultigraph emc_vnx_block_outstanding cat <<-EOF
graph_category disk
graph_title EMC VNX 5300 Sum of Outstanding Requests multigraph emc_vnx_block_outstanding
graph_vlabel Requests graph_category disk
graph_args --base 1000" graph_title EMC VNX 5300 Sum of Outstanding Requests
graph_vlabel Requests
graph_args --base 1000
EOF
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_outstandsum.label $LUN cat <<-EOF
${LUN}_outstandsum.type COUNTER" ${LUN}_outstandsum.label $LUN
${LUN}_outstandsum.type COUNTER
EOF
done <<< $LUNLIST done <<< $LUNLIST
echo -e "\nmultigraph emc_vnx_block_nonzeroreq cat <<-EOF
graph_category disk
graph_title EMC VNX 5300 Non-Zero Request Count Arrivals multigraph emc_vnx_block_nonzeroreq
graph_vlabel Count Arrivals graph_category disk
graph_args --base 1000" graph_title EMC VNX 5300 Non-Zero Request Count Arrivals
graph_vlabel Count Arrivals
graph_args --base 1000
EOF
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_nonzeroreq.label $LUN cat <<-EOF
${LUN}_nonzeroreq.type COUNTER" ${LUN}_nonzeroreq.label $LUN
${LUN}_nonzeroreq.type COUNTER
EOF
done <<< $LUNLIST done <<< $LUNLIST
echo -e "\nmultigraph emc_vnx_block_trespasses cat <<-EOF
graph_category disk
graph_title EMC VNX 5300 Trespasses multigraph emc_vnx_block_trespasses
graph_vlabel Trespasses" graph_category disk
graph_title EMC VNX 5300 Trespasses
graph_vlabel Trespasses
EOF
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_implic_tr.label ${LUN} Implicit Trespasses cat <<-EOF
${LUN}_explic_tr.label ${LUN} Explicit Trespasses" ${LUN}_implic_tr.label ${LUN} Implicit Trespasses
${LUN}_explic_tr.label ${LUN} Explicit Trespasses
EOF
done <<< $LUNLIST done <<< $LUNLIST
echo -e "\nmultigraph emc_vnx_block_queue cat <<-EOF
graph_category disk
graph_title EMC VNX 5300 Counted Block Queue Length multigraph emc_vnx_block_queue
graph_vlabel Length" graph_category disk
graph_title EMC VNX 5300 Counted Block Queue Length
graph_vlabel Length
EOF
while read -r LUN ; do while read -r LUN ; do
echo "${LUN}_busyticks_spa.label ${LUN} cat <<-EOF
${LUN}_busyticks_spa.graph no ${LUN}_busyticks_spa.label ${LUN}
${LUN}_busyticks_spa.type COUNTER ${LUN}_busyticks_spa.graph no
${LUN}_idleticks_spa.label ${LUN} ${LUN}_busyticks_spa.type COUNTER
${LUN}_idleticks_spa.graph no ${LUN}_idleticks_spa.label ${LUN}
${LUN}_idleticks_spa.type COUNTER ${LUN}_idleticks_spa.graph no
${LUN}_busyticks_spb.label ${LUN} ${LUN}_idleticks_spa.type COUNTER
${LUN}_busyticks_spb.graph no ${LUN}_busyticks_spb.label ${LUN}
${LUN}_busyticks_spb.type COUNTER ${LUN}_busyticks_spb.graph no
${LUN}_idleticks_spb.label ${LUN} ${LUN}_busyticks_spb.type COUNTER
${LUN}_idleticks_spb.graph no ${LUN}_idleticks_spb.label ${LUN}
${LUN}_idleticks_spb.type COUNTER ${LUN}_idleticks_spb.graph no
${LUN}_outstandsum.label ${LUN} ${LUN}_idleticks_spb.type COUNTER
${LUN}_outstandsum.graph no ${LUN}_outstandsum.label ${LUN}
${LUN}_outstandsum.type COUNTER ${LUN}_outstandsum.graph no
${LUN}_nonzeroreq.label ${LUN} ${LUN}_outstandsum.type COUNTER
${LUN}_nonzeroreq.graph no ${LUN}_nonzeroreq.label ${LUN}
${LUN}_nonzeroreq.type COUNTER ${LUN}_nonzeroreq.graph no
${LUN}_readreq.label ${LUN} ${LUN}_nonzeroreq.type COUNTER
${LUN}_readreq.graph no ${LUN}_readreq.label ${LUN}
${LUN}_readreq.type COUNTER ${LUN}_readreq.graph no
${LUN}_writereq.label ${LUN} ${LUN}_readreq.type COUNTER
${LUN}_writereq.graph no ${LUN}_writereq.label ${LUN}
${LUN}_writereq.type COUNTER" ${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))* # 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) # (Busy Ticks SPA/(Busy Ticks SPA + Idle Ticks SPA)
# We count together SPA and SPB, although it is not fully corrext # We count together SPA and SPB, although it is not fully corrext
echo "${LUN}_ql_l_a.label ${LUN} Queue Length SPA cat <<-EOF
${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_a.label ${LUN} Queue Length SPA
${LUN}_ql_l_b.label ${LUN} Queue Length SPB ${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.cdef ${LUN}_outstandsum,${LUN}_nonzeroreq,2,/,-,${LUN}_readreq,${LUN}_writereq,+,/,${LUN}_busyticks_spb,*,${LUN}_busyticks_spb,${LUN}_idleticks_spb,+,/" ${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 done <<< $LUNLIST
exit 0 exit 0
fi fi

View file

@ -87,12 +87,12 @@ ssh_check() {
check_conf () { check_conf () {
if [ -z "$username" ]; then if [ -z "$username" ]; then
echo "No username!" echo "No username ('username' environment variable)!"
return 1 return 1
fi fi
if [ -z "$cs_addr" ]; then if [ -z "$cs_addr" ]; then
echo "No control station addresses!" echo "No control station addresses ('cs_addr' environment variable)!"
return 1 return 1
fi fi
@ -153,201 +153,228 @@ if [ "$1" = "config" ] ; then
nas_server_ok=TRUE nas_server_ok=TRUE
if [ $STATSTYPE = "BASICDM" ] ; then if [ $STATSTYPE = "BASICDM" ] ; then
echo "multigraph emc_vnx_cpu_percent cat <<-EOF
graph_title EMC VNX 5300 Datamover CPU Util % multigraph emc_vnx_cpu_percent
graph_vlabel % graph_title EMC VNX 5300 Datamover CPU Util %
graph_category cpu graph_vlabel %
graph_scale no graph_category cpu
graph_args --upper-limit 100 -l 0 graph_scale no
${server}_cpuutil.min 0 graph_args --upper-limit 100 -l 0
${server}_cpuutil.label $server CPU util. in %." ${server}_cpuutil.min 0
${server}_cpuutil.label $server CPU util. in %.
echo -e "\nmultigraph emc_vnx_network_kib multigraph emc_vnx_network_kib
graph_title EMC VNX 5300 Datamover Network bytes over all interfaces graph_title EMC VNX 5300 Datamover Network bytes over all interfaces
graph_vlabel B/s recv. (-) / sent (+) graph_vlabel B/s recv. (-) / sent (+)
graph_category network graph_category network
graph_args --base 1000 graph_args --base 1000
${server}_net_in.graph no ${server}_net_in.graph no
${server}_net_in.label none ${server}_net_in.label none
${server}_net_in.cdef ${server}_net_in,1000,* ${server}_net_in.cdef ${server}_net_in,1000,*
${server}_net_out.label $server B/s ${server}_net_out.label $server B/s
${server}_net_out.cdef ${server}_net_out,1000,* ${server}_net_out.cdef ${server}_net_out,1000,*
${server}_net_out.negative ${server}_net_in ${server}_net_out.negative ${server}_net_in
${server}_net_out.draw AREA" ${server}_net_out.draw AREA
echo -e "\nmultigraph emc_vnx_storage_kib multigraph emc_vnx_storage_kib
graph_title EMC VNX 5300 Datamover Storage bytes over all interfaces graph_title EMC VNX 5300 Datamover Storage bytes over all interfaces
graph_vlabel B/s recv. (-) / sent (+) graph_vlabel B/s recv. (-) / sent (+)
graph_category network graph_category network
graph_args --base 1000 graph_args --base 1000
${server}_stor_read.graph no ${server}_stor_read.graph no
${server}_stor_read.label none ${server}_stor_read.label none
${server}_stor_read.cdef ${server}_stor_read,1000,* ${server}_stor_read.cdef ${server}_stor_read,1000,*
${server}_stor_write.label $server B/s ${server}_stor_write.label $server B/s
${server}_stor_write.cdef ${server}_stor_write,1000,* ${server}_stor_write.cdef ${server}_stor_write,1000,*
${server}_stor_write.negative ${server}_stor_read ${server}_stor_write.negative ${server}_stor_read
${server}_stor_write.draw AREA" ${server}_stor_write.draw AREA
echo -e "\nmultigraph emc_vnx_memory multigraph emc_vnx_memory
graph_title EMC VNX 5300 Datamover Memory graph_title EMC VNX 5300 Datamover Memory
graph_vlabel MiB graph_vlabel MiB
graph_category memory graph_category memory
graph_args --base 1024 graph_args --base 1024
graph_order ${server}_used ${server}_free ${server}_total ${server}_freebuffer ${server}_encumbered graph_order ${server}_used ${server}_free ${server}_total ${server}_freebuffer ${server}_encumbered
${server}_used.label ${server} Used ${server}_used.label ${server} Used
${server}_used.cdef ${server}_used,1024,/ ${server}_used.cdef ${server}_used,1024,/
${server}_free.label ${server} Free ${server}_free.label ${server} Free
${server}_free.draw STACK ${server}_free.draw STACK
${server}_free.cdef ${server}_free,1024,/ ${server}_free.cdef ${server}_free,1024,/
${server}_total.label ${server} Total ${server}_total.label ${server} Total
${server}_total.cdef ${server}_total,1024,/ ${server}_total.cdef ${server}_total,1024,/
${server}_freebuffer.label ${server} Free Buffer ${server}_freebuffer.label ${server} Free Buffer
${server}_freebuffer.cdef ${server}_freebuffer,1024,/ ${server}_freebuffer.cdef ${server}_freebuffer,1024,/
${server}_encumbered.label ${server} Encumbered ${server}_encumbered.label ${server} Encumbered
${server}_encumbered.cdef ${server}_encumbered,1024,/" ${server}_encumbered.cdef ${server}_encumbered,1024,/
echo -e "\nmultigraph emc_vnx_filecache multigraph emc_vnx_filecache
graph_title EMC VNX 5300 File Buffer Cache graph_title EMC VNX 5300 File Buffer Cache
graph_vlabel per second graph_vlabel per second
graph_category memory graph_category memory
graph_args --base 1000 graph_args --base 1000
graph_order ${server}_highw_hits ${server}_loww_hits ${server}_w_hits ${server}_hits ${server}_lookups graph_order ${server}_highw_hits ${server}_loww_hits ${server}_w_hits ${server}_hits ${server}_lookups
${server}_highw_hits.label High Watermark Hits ${server}_highw_hits.label High Watermark Hits
${server}_loww_hits.label Low Watermark Hits ${server}_loww_hits.label Low Watermark Hits
${server}_loww_hits.draw STACK ${server}_loww_hits.draw STACK
${server}_w_hits.label Watermark Hits ${server}_w_hits.label Watermark Hits
${server}_hits.label Hits ${server}_hits.label Hits
${server}_lookups.label Lookups" ${server}_lookups.label Lookups
echo -e "\nmultigraph emc_vnx_fileresolve multigraph emc_vnx_fileresolve
graph_title EMC VNX 5300 FileResolve graph_title EMC VNX 5300 FileResolve
graph_vlabel Entries graph_vlabel Entries
graph_category memory graph_category memory
graph_args --base 1000 graph_args --base 1000
${server}_dropped.label Dropped Entries ${server}_dropped.label Dropped Entries
${server}_max.label Max Limit ${server}_max.label Max Limit
${server}_used.label Used Entries" ${server}_used.label Used Entries
fi EOF
fi
if [ $STATSTYPE = "NFS" ] ; then if [ $STATSTYPE = "NFS" ] ; then
#nfs.v3.op data #nfs.v3.op data
member_elements=$($SSH server_stats $server -info nfs.v3.op | grep member_elements | sed -ne 's/^.*= //p') member_elements=$($SSH server_stats $server -info nfs.v3.op | grep member_elements | sed -ne 's/^.*= //p')
IFS=',' read -ra graphs <<< $member_elements IFS=',' read -ra graphs <<< $member_elements
echo "multigraph vnx_emc_v3_calls_s cat <<-EOF
graph_title EMC VNX 5300 NFSv3 Calls per second multigraph vnx_emc_v3_calls_s
graph_vlabel Calls graph_title EMC VNX 5300 NFSv3 Calls per second
graph_category nfs graph_vlabel Calls
graph_args --base 1000" graph_category nfs
for graph in "${graphs[@]}"; do graph_args --base 1000
field=$(echo "$graph" | cut -d '.' -f4 ) EOF
echo "${server}_$field.label $server $field" for graph in "${graphs[@]}"; do
done field=$(echo "$graph" | cut -d '.' -f4 )
echo "${server}_$field.label $server $field"
done
echo -e "\nmultigraph vnx_emc_v3_usec_call cat <<-EOF
graph_title EMC VNX 5300 NFSv3 uSeconds per call
graph_vlabel uSec / call multigraph vnx_emc_v3_usec_call
graph_category nfs graph_title EMC VNX 5300 NFSv3 uSeconds per call
graph_args --base 1000" graph_vlabel uSec / call
for graph in "${graphs[@]}"; do graph_category nfs
field=$(echo "$graph" | cut -d '.' -f4 ) graph_args --base 1000
echo "${server}_$field.label $server $field" EOF
done for graph in "${graphs[@]}"; do
echo -e "\nmultigraph vnx_emc_v3_op_percent field=$(echo "$graph" | cut -d '.' -f4 )
graph_title EMC VNX 5300 NFSv3 Op % echo "${server}_$field.label $server $field"
graph_vlabel % done
graph_scale no cat <<-EOF
graph_category nfs"
for graph in "${graphs[@]}"; do multigraph vnx_emc_v3_op_percent
field=$(echo "$graph" | cut -d '.' -f4 ) graph_title EMC VNX 5300 NFSv3 Op %
echo "${server}_$field.label $server $field" graph_vlabel %
echo "${server}_$field.min 0" graph_scale no
done graph_category nfs
graphs=() 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 #nfs.v4.op data
member_elements=$($SSH server_stats $server -info nfs.v4.op | grep member_elements | sed -ne 's/^.*= //p') member_elements=$($SSH server_stats $server -info nfs.v4.op | grep member_elements | sed -ne 's/^.*= //p')
IFS=',' read -ra graphs <<< $member_elements IFS=',' read -ra graphs <<< $member_elements
echo "multigraph vnx_emc_v4_calls_s cat <<-EOF
graph_title EMC VNX 5300 NFSv4 Calls per second multigraph vnx_emc_v4_calls_s
graph_vlabel Calls graph_title EMC VNX 5300 NFSv4 Calls per second
graph_category nfs graph_vlabel Calls
graph_args --base 1000" graph_category nfs
for graph in "${graphs[@]}"; do graph_args --base 1000
field=$(echo "$graph" | cut -d '.' -f4 ) EOF
echo "${server}_$field.label $server $field" for graph in "${graphs[@]}"; do
done field=$(echo "$graph" | cut -d '.' -f4 )
echo "${server}_$field.label $server $field"
done
echo -e "\nmultigraph vnx_emc_v4_usec_call cat <<-EOF
graph_title EMC VNX 5300 NFSv4 uSeconds per call
graph_vlabel uSec / call multigraph vnx_emc_v4_usec_call
graph_category nfs graph_title EMC VNX 5300 NFSv4 uSeconds per call
graph_args --base 1000" graph_vlabel uSec / call
for graph in "${graphs[@]}"; do graph_category nfs
field=$(echo "$graph" | cut -d '.' -f4 ) graph_args --base 1000
echo "${server}_$field.label $server $field" EOF
done for graph in "${graphs[@]}"; do
echo -e "\nmultigraph vnx_emc_v4_op_percent field=$(echo "$graph" | cut -d '.' -f4 )
graph_title EMC VNX 5300 NFSv4 Op % echo "${server}_$field.label $server $field"
graph_vlabel % done
graph_scale no cat <<-EOF
graph_category nfs"
for graph in "${graphs[@]}"; do multigraph vnx_emc_v4_op_percent
field=$(echo "$graph" | cut -d '.' -f4 ) graph_title EMC VNX 5300 NFSv4 Op %
echo "${server}_$field.label $server $field" graph_vlabel %
echo "${server}_$field.min 0" graph_scale no
done 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 #nfs.client data
# Total Read Write Suspicious Total Read Write Avg # Total Read Write Suspicious Total Read Write Avg
# Ops/s Ops/s Ops/s Ops diff KiB/s KiB/s KiB/s uSec/call # 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) 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 readarray graphs2 <<< $member_elements
echo -e "\nmultigraph vnx_emc_nfs_client_ops_s cat <<-EOF
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
echo -e "\nmultigraph vnx_emc_nfs_client_kib_s multigraph vnx_emc_nfs_client_ops_s
graph_title EMC VNX 5300 NFS Client B/s graph_title EMC VNX 5300 NFS Client Ops/s
graph_vlabel B/s graph_vlabel Ops/s
graph_category nfs" graph_category nfs
echo -n "graph_order " EOF
for graph in "${graphs2[@]}"; do echo -n "graph_order "
field=$(echo "$graph" | sed -ne 's/\./_/pg' ) for graph in "${graphs2[@]}"; do
echo -n "${server}_${field}_r ${server}_${field}_w ${server}_${field}_t " field=$(echo "$graph" | sed -ne 's/\./_/pg' )
done echo -n "${server}_${field}_r ${server}_${field}_w ${server}_${field}_t ${server}_${field}_s "
echo " " done
for graph in "${graphs2[@]}"; do echo " "
field=$(echo "$graph" | sed -ne 's/\./_/pg' ) for graph in "${graphs2[@]}"; do
echo "${server}_${field}_r.label $server $field Read B/s" field=$(echo "$graph" | sed -ne 's/\./_/pg' )
echo "${server}_${field}_r.cdef ${server}_${field}_r,1024,*" echo "${server}_${field}_r.label $server $field Read Ops/s"
echo "${server}_${field}_w.label $server $field Write B/s" echo "${server}_${field}_w.label $server $field Write Ops/s"
echo "${server}_${field}_w.cdef ${server}_${field}_w,1024,*" echo "${server}_${field}_w.draw STACK"
echo "${server}_${field}_w.draw STACK" echo "${server}_${field}_t.label $server $field Total Ops/s"
echo "${server}_${field}_t.label $server $field Total B/s" echo "${server}_${field}_s.label $server $field Suspicious Ops diff"
echo "${server}_${field}_t.cdef ${server}_${field}_t,1024,*" done
done
echo -e "\nmultigraph vnx_emc_nfs_client_avg_usec cat <<-EOF
graph_title EMC VNX 5300 NFS Client Avg uSec/call
graph_vlabel uSec/call multigraph vnx_emc_nfs_client_kib_s
graph_category nfs" graph_title EMC VNX 5300 NFS Client B/s
for graph in "${graphs2[@]}"; do graph_vlabel B/s
field=$(echo "$graph" | sed -ne 's/\./_/pg' ) graph_category nfs
echo "${server}_${field}.label $server $field Avg uSec/call" EOF
done 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 fi
done done
if [ -z $nas_server_ok ]; then if [ -z $nas_server_ok ]; then