From 75112331ec8eb6b2bd1707af04d7050a0f269ffb Mon Sep 17 00:00:00 2001 From: Diver Date: Thu, 17 Nov 2016 20:08:39 +0300 Subject: [PATCH] Removed files from other branch --- plugins/emc/emc_vnx_dm_basic_stats | 169 ------------------ plugins/emc/emc_vnx_nfsv3_stats | 266 ----------------------------- 2 files changed, 435 deletions(-) delete mode 100755 plugins/emc/emc_vnx_dm_basic_stats delete mode 100755 plugins/emc/emc_vnx_nfsv3_stats diff --git a/plugins/emc/emc_vnx_dm_basic_stats b/plugins/emc/emc_vnx_dm_basic_stats deleted file mode 100755 index 6962bd88..00000000 --- a/plugins/emc/emc_vnx_dm_basic_stats +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/bash -###################################################################################################################### -# Plugin to monitor basic statistics of EMC VNX 5300 Unified Datamovers # -###################################################################################################################### - -# Author: Evgeny Beysembaev - -##################################### -# Description # -##################################### - -# The plugin monitors basic statistics of EMC Unified Storage system Datamovers. Probably it can also be compatible with -# other Isilon or Celerra systems. It uses SSH to connect to Control Stations, then remotely executes -# /nas/sbin/server_stats and fetches and parses data from it. It supports gathering data both from active/active -# and active/passive Datamover configurations, ignoring offline or standby Datamovers. If all Datamovers are -# offline or absent, the plugin returns error. -# This plugin also automatically chooses Primary Control Station from the list by calling /nasmcd/sbin/getreason and -# /nasmcd/sbin/t2slot. -# -# Data is gathered from basic-std Statistics Group -# -# It's quite easy to comment out unneeded data to make graphs less overloaded or to add new statistics sources. - -##################################### -# Configuration # -##################################### - -# The plugin uses SSH to connect to Control Stations. It's possible to use 'nasadmin' user, but it would be better -# if you create read-only global user by Unisphere Client. The user should have only Operator role. -# I created "operator" user but due to the fact that Control Stations already had one internal "operator" user, -# the new one was called "operator1". So be careful. -# -# On munin-node side choose a user which will be used to connect through SSH. Generally user "munin" is ok. Then, -# execute "sudo su munin -s /bin/bash", "ssh-keygen" and "ssh-copy-id" to both Control Stations with newly created -# user. -# -# Make a link from /usr/share/munin/plugins/emc_vnx_dm_basic_stats to /etc/munin/plugins/emc_vnx_dm_basic_stats_, -# where is any arbitrary name of your storage system. The plugin will return in its answer -# as "host_name" field. -# Assume your storage system is called "VNX5300". -# -# Make a configuration file at /etc/munin/plugin-conf.d/emc_vnx_dm_basic_stats_VNX5300 -# -# [emc_vnx_dm_basic_stats_vnx5300] -# user munin # SSH Client local user -# env.username operator1 # Remote user with Operator role -# env.cs_addr 192.168.1.1 192.168.1.2 # Control Stations addresses -# env.nas_servers server_2 server_3 # This is the default value and can be omitted - -##################################### -# History # -##################################### - -# 08.11.2016 - First Release - -###################################################################################################################### - -export LANG=C - -TARGET=$(echo "${0##*/}" | cut -d _ -f 6) -: ${nas_servers:="server_2 server_3"} -SSH_CHECK='ssh -q $username@$CS "/nasmcd/sbin/getreason | grep -w slot_\`/nasmcd/sbin/t2slot\` | cut -d- -f1"' - -if [ "$1" = "autoconf" ]; then - echo "yes" - exit 0 -fi - -if [ -z "$username" ]; then - echo "No username!" - exit 1 -fi - -if [ -z "$cs_addr" ]; then - echo "No control station addresses!" - exit 1 -fi - -#Choosing Cotrol Station. Code have to be "10" -for CS in $cs_addr; do - if [ "`eval $SSH_CHECK`" -eq "10" ]; then -# echo "$CS is Primary" - PRIMARY_CS=$CS - break - fi -done - -if [ -z "$PRIMARY_CS" ]; then - echo "No alive primary Control Station from list \"$cs_addr\""; - exit 1; -fi - -SSH="ssh -q $username@$PRIMARY_CS . /home/operator1/.bash_profile; " - -echo "host_name ${TARGET}" - -if [ "$1" = "config" ] ; then - for server in $nas_servers; do - $SSH nas_server -i $server | grep -q 'type *= nas' - if [ "$?" != 0 ] ; then continue; fi - nas_server_ok=TRUE - echo "multigraph emc_vnx_cpu_percent -graph_title EMC VNX 5300 Datamover CPU Util % -graph_vlabel % -graph_category cpu -${server}_cpuutil.min 0 -${server}_cpuutil.label $server CPU util. in % in this interval." - echo " -multigraph emc_vnx_network_kib -graph_title EMC VNX 5300 Datamover Network bytes over all interfaces -graph_vlabel B/s sent (+)/ recv. (-) -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 " -multigraph emc_vnx_storage_kib -graph_title EMC VNX 5300 Datamover Storage bytes over all interfaces -graph_vlabel B/s sent (+)/ recv. (-) -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" - done - if [ -z $nas_server_ok ]; then - echo "No active data movers!" - exit 1 - fi -exit 0 -fi - -for server in $nas_servers; do - $SSH nas_server -i $server | grep -q 'type *= nas' - if [ "$?" != 0 ] ; then continue; fi - nas_server_ok=TRUE - member_elements=`$SSH server_stats $server -count 1 -terminationsummary no -titles never ` - NUMCOL=5 - IFS=$' ' read -ra graphs <<< $member_elements - - echo "multigraph emc_vnx_cpu_percent" - echo "${server}_cpuutil.value ${graphs[1]}" - - echo " -multigraph emc_vnx_network_kib" - echo "${server}_net_in.value ${graphs[2]}" - echo "${server}_net_out.value ${graphs[3]}" - - echo " -multigraph emc_vnx_storage_kib" - echo "${server}_stor_read.value ${graphs[4]}" - echo "${server}_stor_write.value ${graphs[5]}" - -done -if [ -z $nas_server_ok ]; then - echo "No active data movers!" - exit 1 -fi -exit 0 - diff --git a/plugins/emc/emc_vnx_nfsv3_stats b/plugins/emc/emc_vnx_nfsv3_stats deleted file mode 100755 index 93e6af9a..00000000 --- a/plugins/emc/emc_vnx_nfsv3_stats +++ /dev/null @@ -1,266 +0,0 @@ -#!/bin/bash -###################################################################################################################### -# Plugin to monitor NFS statistics of EMC VNX 5300 Unified Storage system # -###################################################################################################################### - -# Author: Evgeny Beysembaev - -##################################### -# Description # -##################################### - -# The plugin monitors NFS v3 statistics of EMC Unified Storage system. Probably it can also be compatible with -# other Isilon or Celerra systems. It uses SSH to connect to Control Stations, then remotely executes -# /nas/sbin/server_stats and fetches and parses data from it. It supports gathering data both from active/active -# and active/passive Datamover configurations, ignoring offline or standby Datamovers. If all Datamovers are -# offline or absent, the plugin returns error. -# This plugin also automatically chooses Primary Control Station from the list by calling /nasmcd/sbin/getreason and -# /nasmcd/sbin/t2slot. -# -# At the moment data is gathered from the following statistics sources: -# nfs.v3.op - Tons of timings about NFS RPC calls -# nfs.client - Here new Client addresses are rescanned and added automatically. -# -# It's quite easy to comment out unneeded data to make graphs less overloaded or to add new statistics sources. - -##################################### -# Configuration # -##################################### - -# The plugin uses SSH to connect to Control Stations. It's possible to use 'nasadmin' user, but it would be better -# if you create read-only global user by Unisphere Client. The user should have only Operator role. -# I created "operator" user but due to the fact that Control Stations already had one internal "operator" user, -# the new one was called "operator1". So be careful. -# -# On munin-node side choose a user which will be used to connect through SSH. Generally user "munin" is ok. Then, -# execute "sudo su munin -s /bin/bash", "ssh-keygen" and "ssh-copy-id" to both Control Stations with newly created -# user. -# -# Make a link from /usr/share/munin/plugins/emc_vnx_nfsv3_stats to /etc/munin/plugins/emc_vnx_nfsv3_stats_, -# where is any arbitrary name of your storage system. The plugin will return in its answer -# as "host_name" field. -# Assume your storage system is called "VNX5300". -# -# Make a configuration file at /etc/munin/plugin-conf.d/emc_vnx_nfsv3_stats_VNX5300 -# -# [emc_vnx_nfsv3_stats_vnx5300] -# user munin # SSH Client local user -# env.username operator1 # Remote user with Operator role -# env.cs_addr 192.168.1.1 192.168.1.2 # Control Stations addresses -# env.nas_servers server_2 server_3 # This is the default value and can be omitted - -##################################### -# History # -##################################### - -# 08.11.2016 - First Release - -###################################################################################################################### - -export LANG=C - -TARGET=$(echo "${0##*/}" | cut -d _ -f 5) -: ${nas_servers:="server_2 server_3"} -SSH_CHECK='ssh -q $username@$CS "/nasmcd/sbin/getreason | grep -w slot_\`/nasmcd/sbin/t2slot\` | cut -d- -f1"' - -if [ "$1" = "autoconf" ]; then - echo "yes" - exit 0 -fi - -if [ -z "$username" ]; then - echo "No username!" - exit 1 -fi - -if [ -z "$cs_addr" ]; then - echo "No control station addresses!" - exit 1 -fi - -#Choosing Cotrol Station. Code have to be "10" -for CS in $cs_addr; do - if [ "`eval $SSH_CHECK`" -eq "10" ]; then -# echo "$CS is Primary" - PRIMARY_CS=$CS - break - fi -done - -if [ -z "$PRIMARY_CS" ]; then - echo "No alive primary Control Station from list \"$cs_addr\""; - exit 1; -fi - -SSH="ssh -q $username@$PRIMARY_CS . /home/operator1/.bash_profile; " - -echo "host_name ${TARGET}" - -if [ "$1" = "config" ] ; then - for server in $nas_servers; do - $SSH nas_server -i $server | grep -q 'type *= nas' - if [ "$?" != 0 ] ; then continue; fi - nas_server_ok=TRUE -#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_calls_s -graph_title EMC VNX 5300 NFS V3 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 - - echo " -multigraph vnx_emc_usec_call -graph_title EMC VNX 5300 NFS V3 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 " -multigraph vnx_emc_op_percent -graph_title EMC VNX 5300 NFS V3 Op % -graph_vlabel % -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 - - -#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 " -multigraph 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 - - echo " -multigraph vnx_emc_nfs_client_kib_s -graph_title EMC VNX 5300 NFS Client KiB/s -graph_vlabel KiB/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 KiB/s" - echo "${server}_${field}_w.label $server $field Write KiB/s" - echo "${server}_${field}_w.draw STACK" - echo "${server}_${field}_t.label $server $field Total KiB/s" - done - - echo " -multigraph 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 - done - if [ -z $nas_server_ok ]; then - echo "No active data movers!" - exit 1 - fi -exit 0 -fi - -#nfs.v3.op data -for server in $nas_servers; do - $SSH nas_server -i $server | grep -q 'type *= nas' - if [ "$?" != 0 ] ; then continue; fi - nas_server_ok=TRUE - member_elements=`$SSH server_stats $server -monitor nfs.v3.op -count 1 -terminationsummary no -titles never | sed -ne 's/^.*v3/v3/p'` - NUMCOL=5 - LINES=`wc -l <<< $member_elements` - while IFS=$'\n' read -ra graphs ; do - element+=( $graphs ) - done <<< $member_elements - - echo "multigraph vnx_emc_calls_s" - for ((i=0; i<$((LINES)); i++ )); do - echo "${server}_${element[i*$NUMCOL]}".value "${element[i*$NUMCOL+1]}" - done - - echo " -multigraph vnx_emc_usec_call" - for ((i=0; i<$((LINES)); i++ )); do - echo "${server}_${element[i*$NUMCOL]}".value "${element[i*$NUMCOL+3]}" - done - - echo " -multigraph vnx_emc_op_percent" - for ((i=0; i<$((LINES)); i++ )); do - echo "${server}_${element[i*$NUMCOL]}".value "${element[i*$NUMCOL+4]}" - done - - element=() -#nfs.client data - echo " -multigraph vnx_emc_nfs_client_ops_s" - member_elements=`$SSH server_stats server_2 -monitor nfs.client -count 1 -terminationsummary no -titles never | sed -ne 's/^.*id=//p'` - NUMCOL=9 - LINES=`wc -l <<< $member_elements` - while IFS=$'\n' read -ra graphs; do - element+=($graphs) - done <<< $member_elements - for (( i=0; i<$((LINES)); i++ )); do - client=` echo ${element[i*$NUMCOL]} | sed -ne 's/\./_/pg'` - echo "${server}_${client}_r".value "${element[$i*$NUMCOL+2]}" - echo "${server}_${client}_w".value "${element[$i*$NUMCOL+3]}" - echo "${server}_${client}_t".value "${element[$i*$NUMCOL+1]}" - echo "${server}_${client}_s".value "${element[$i*$NUMCOL+4]}" - done - echo " -multigraph vnx_emc_nfs_client_kib_s" - for (( i=0; i<$((LINES)); i++ )); do - client=` echo ${element[i*$NUMCOL]} | sed -ne 's/\./_/pg'` - echo "${server}_${client}_r".value "${element[$i*$NUMCOL+6]}" - echo "${server}_${client}_w".value "${element[$i*$NUMCOL+7]}" - echo "${server}_${client}_t".value "${element[$i*$NUMCOL+5]}" - done - echo " -multigraph vnx_emc_nfs_client_avg_usec" - for (( i=0; i<$((LINES)); i++ )); do - client=` echo ${element[i*$NUMCOL]} | sed -ne 's/\./_/pg'` - echo "${server}_${client}".value "${element[$i*$NUMCOL+8]}" - done -done -if [ -z $nas_server_ok ]; then - echo "No active data movers!" - exit 1 -fi -exit 0 -