Projet

Général

Profil

Révision a8e1084b

IDa8e1084bb81a8995b079c51c459108b88af842f3
Parent 8b2808b9
Enfant e889ffd0

Ajouté par Diver il y a presque 9 ans

POD style

Voir les différences:

plugins/emc/emc_vnx_block_lun_perfdata
1 1
#!/bin/bash
2
######################################################################################################################
3
#                  Plugin to monitor basic statistics of EMC VNX 5300 Unified Datamovers                             #
4
######################################################################################################################
5

  
6
# Author: Evgeny Beysembaev <megabotva@gmail.com>
7

  
8
#####################################
9
#         Description               #
10
#####################################
11

  
12
# The plugin monitors LUN of EMC Unified Storage FLARE SP's. Probably it can also be compatible with 
13
# other Clariion systems. It uses SSH to connect to Control Stations, then remotely executes 
14
# /nas/sbin/navicli and fetches and parses data from it. Obviously, it's easy to reconfigure plugin not to use 
15
# Control Stations' navicli in favor of using locally installed /opt/Navisphere's cli. There is no difference which
16
# Storage Processor to use to gather data, so this plugin tries both of them and uses the first active one.
17
# This plugin also automatically chooses Primary Control Station from the list by calling /nasmcd/sbin/getreason and 
18
# /nasmcd/sbin/t2slot.
19
# 
20
# I left some parts of this plugin as rudimental to make easy to reconfigure it to draw more (or less) data.
2

  
3
: <<=cut
4

  
5
=head1 NAME 
6

  
7
 emc_vnx_block_lun_perfdata - Plugin to monitor Block statistics of EMC VNX 5300 Unified Storage Processors
8

  
9
=head1 AUTHOR
10

  
11
 Evgeny Beysembaev <megabotva@gmail.com>
12

  
13
=head1 LICENSE
14

  
15
 GPLv2
16

  
17
=head1 MAGIC MARKERS
18

  
19
  #%# family=auto
20
  #%# capabilities=autoconf
21

  
22
=head1 DESCRIPTION
23

  
24
 The plugin monitors LUN of EMC Unified Storage FLARE SP's. Probably it can also be compatible with 
25
 other Clariion systems. It uses SSH to connect to Control Stations, then remotely executes 
26
 /nas/sbin/navicli and fetches and parses data from it. Obviously, it's easy to reconfigure plugin not to use 
27
 Control Stations' navicli in favor of using locally installed /opt/Navisphere's cli. There is no difference which
28
 Storage Processor to use to gather data, so this plugin tries both of them and uses the first active one.
29
 This plugin also automatically chooses Primary Control Station from the list by calling /nasmcd/sbin/getreason and 
30
 /nasmcd/sbin/t2slot.
31
 
32
 I left some parts of this plugin as rudimental to make easy to reconfigure it to draw more (or less) data.
33

  
34
=head1 COMPATIBILITY
35

  
36
 The plugin has been written for being compatible with EMC VNX5300 Storage system, as this is the only EMC storage which 
37
 i have. By the way, i am pretty sure it can also work with other VNX1 storages, like VNX5100 and VNX5500, and old-style 
38
 Clariion systems.
39
 About VNX2 series, i don't know whether the plugin will be able to work with them. Maybe it would need some corrections
40
 in command-line backend. The same situation is with other EMC systems, so i encourage you to try and fix the plugin. 
21 41
 
22
#####################################
23
#        Configuration              #
24
#####################################
25

  
26
######### Prerequisites #########
27

  
28
# First of all, be sure that statistics collection is turned on. You can do this by typing:
29
# navicli -h spa setstats -on
30
# on your Control Station or locally through /opt/Navisphere 
31

  
32
# Also, the plugin actively uses buggy "cdef" feature of Munin, and here we can be hit by the following bugs:
33
# http://munin-monitoring.org/ticket/1017 - Here I have some workarounds in plugin, be sure that they are working.
34
# http://munin-monitoring.org/ticket/1352 - 
35
# Metrics in my plugin can be much longer than 15 characters, so you have to edit the following file:
36
# /usr/share/perl5/Munin/Master/GraphOld.pm
37
# Find get_field_name() function and change "15" to "255".
38

  
39
######### Installation #########
40

  
41
# The plugin uses SSH to connect to Control Stations. It's possible to use 'nasadmin' user, but it would be better
42
# if you create read-only global user by Unisphere Client. The user should have only Operator role.
43
# I created "operator" user but due to the fact that Control Stations already had one internal "operator" user,
44
# the new one was called "operator1". So be careful.
45
# 
46
# On munin-node side choose a user which will be used to connect through SSH. Generally user "munin" is ok. Then,
47
# execute "sudo su munin -s /bin/bash", "ssh-keygen" and "ssh-copy-id" to both Control Stations with newly created 
48
# user.
49
# 
50
# Make a link from /usr/share/munin/plugins/emc_vnx_dm_basic_stats to /etc/munin/plugins/emc_vnx_dm_basic_stats_<NAME>,
51
# where <NAME> is any arbitrary name of your storage system. The plugin will return <NAME> in its answer 
52
# as "host_name" field.
53
# Assume your storage system is called "VNX5300".
54
# 
55
# Make a configuration file at /etc/munin/plugin-conf.d/emc_vnx_block_lun_perfdata_VNX5300
56
# 
57
# [emc_vnx_block_lun_perfdata_VNX5300]
58
# user munin							# SSH Client local user
59
# env.username operator1					# Remote user with Operator role
60
# env.cs_addr 192.168.1.1 192.168.1.2				# Control Stations addresses
61

  
62
#####################################
63
#           Errata                  #
64
#####################################
65
# It counts Queue Length in not fully correct way. We take parameters totally from both SP's, but after we divide them
66
# independently by load of SPA and SPB. Anyway, in most AAA / ALUA cases the formula is correct.
67

  
68

  
69
#####################################
70
#           History                 #
71
#####################################
72

  
73
# 09.11.2016 - First Release
74

  
75
######################################################################################################################
42
=head1 CONFIGURATION
43

  
44
=head2 Prerequisites
45

  
46
 First of all, be sure that statistics collection is turned on. You can do this by typing:
47
 navicli -h spa setstats -on
48
 on your Control Station or locally through /opt/Navisphere 
49

  
50
 Also, the plugin actively uses buggy "cdef" feature of Munin, and here we can be hit by the following bugs:
51
 http://munin-monitoring.org/ticket/1017 - Here I have some workarounds in plugin, be sure that they are working.
52
 http://munin-monitoring.org/ticket/1352 - 
53
 Metrics in my plugin can be much longer than 15 characters, so you have to edit the following file:
54
 /usr/share/perl5/Munin/Master/GraphOld.pm
55
 Find get_field_name() function and change "15" to "255".
56

  
57
=head2 Installation
58

  
59
 The plugin uses SSH to connect to Control Stations. It's possible to use 'nasadmin' user, but it would be better
60
 if you create read-only global user by Unisphere Client. The user should have only Operator role.
61
 I created "operator" user but due to the fact that Control Stations already had one internal "operator" user,
62
 the new one was called "operator1". So be careful.
63
 
64
 On munin-node side choose a user which will be used to connect through SSH. Generally user "munin" is ok. Then,
65
 execute "sudo su munin -s /bin/bash", "ssh-keygen" and "ssh-copy-id" to both Control Stations with newly created 
66
 user.
67
 
68
 Make a link from /usr/share/munin/plugins/emc_vnx_dm_basic_stats to /etc/munin/plugins/emc_vnx_dm_basic_stats_<NAME>,
69
 where <NAME> is any arbitrary name of your storage system. The plugin will return <NAME> in its answer 
70
 as "host_name" field.
71
 Assume your storage system is called "VNX5300".
72
 
73
 Make a configuration file at /etc/munin/plugin-conf.d/emc_vnx_block_lun_perfdata_VNX5300
74
 
75
 [emc_vnx_block_lun_perfdata_VNX5300]
76
 user munin							# SSH Client local user
77
 env.username operator1						# Remote user with Operator role
78
 env.cs_addr 192.168.1.1 192.168.1.2				# Control Stations addresses
79

  
80
=head1 ERRATA
81

  
82
 It counts Queue Length in not fully correct way. We take parameters totally from both SP's, but after we divide them
83
 independently by load of SPA and SPB. Anyway, in most AAA / ALUA cases the formula is correct.
84

  
85
=head1 HISTORY
86

  
87
 09.11.2016 - First Release
88
 26.12.2016 - Compatibility with Munin coding style
89

  
90
=cut
76 91

  
77 92
export LANG=C
78 93
TARGET=$(echo "${0##*/}" | cut -d _ -f 6)

Formats disponibles : Unified diff