Ad Widget

Collapse

EMC Clariion/VNX Template

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • JoohnyO
    Junior Member
    • Jul 2014
    • 25

    #1

    EMC Clariion/VNX Template

    Hello everyone.

    i've attached archive with script and template. It was tested on VNX5400, and still not as good as I wanted to, but still fine.

    Template can collect:
    - Overall state, some agent info like model or serial.
    - Cache info
    - Disks and LUNs state
    - Ports status
    - Temperature and power
    - Storage pools state and capacity

    No raid-groups info by now - my VNX didn't have any, i'll try to add this feature later.

    For make it's work you need to update python script with your credentials, ip, and NaviCLI path If your differs from default.

    Script will store all data in TMP_DIR directory, so make sure that read and write rights are in place.
    Attached Files
    Last edited by JoohnyO; 17-11-2014, 12:15. Reason: Package Update
  • kloczek
    Senior Member
    • Jun 2006
    • 1771

    #2
    Hmm .. why not monitor this device over SNMP?
    http://uk.linkedin.com/pub/tomasz-k%...zko/6/940/430/
    https://kloczek.wordpress.com/
    zapish - Zabbix API SHell binding https://github.com/kloczek/zapish
    My zabbix templates https://github.com/kloczek/zabbix-templates

    Comment

    • JoohnyO
      Junior Member
      • Jul 2014
      • 25

      #3
      Originally posted by kloczek
      Hmm .. why not monitor this device over SNMP?
      https://community.emc.com/message/563538
      First link in google.

      Comment

      • gkveselava
        Junior Member
        • Mar 2015
        • 1

        #4
        Emc vnx5400

        hello JoohnyO,

        I'm glad i found VNX 5400 template, but i can't get it working.

        I got error on template import, zabbix version 2.2.4


        Created: Item "SP Idle" on "Template EMC Clariion".
        Created: Item "SP Read Cache State" on "Template EMC Clariion".
        Created: Item "SP Write Cache State" on "Template EMC Clariion".


        mb_strlen() expects parameter 1 to be string, array given [conf.import.php:130 → CConfigurationImport->import() → CConfigurationImport->processDiscoveryRules() → CAPIObject->create() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → call_user_func() → CDiscoveryRule->create() → CDiscoveryRule->createReal() → DB::insert() → DB::checkValueTypes() → zbx_strlen() → mb_strlen() in /usr/share/zabbix/include/func.inc.php:955]

        Array to string conversion [conf.import.php:130 → CConfigurationImport->import() → CConfigurationImport->processDiscoveryRules() → CAPIObject->create() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → call_user_func() → CDiscoveryRule->create() → CDiscoveryRule->createReal() → DB::insert() → implode() in /usr/share/zabbix/include/classes/db/DB.php:450]

        Error in query [INSERT INTO items (name,type,snmp_community,snmp_oid,delay,status,sn mpv3_contextname,snmpv3_securityname,snmpv3_securi tylevel,snmpv3_authprotocol,snmpv3_authpassphrase, snmpv3_privprotocol,snmpv3_privpassphrase,delay_fl ex,params,ipmi_sensor,authtype,username,password,p ublickey,privatekey,port,filter,lifetime,descripti on,key_,trapper_hosts,hostid,flags,value_type,data _type,interfaceid,itemid) VALUES ('Disks','10','','','300','0','','','0','0','','0' ,'','','','','0','','','','','',Array,'1','','emc_ clariion.py[\"--disk\", \"--item\", \"discovery\"]','','10798','1','4','0',NULL,'62212')] [Unknown column 'Array' in 'field list']

        SQL statement execution has failed "INSERT INTO items (name,type,snmp_community,snmp_oid,delay,status,sn mpv3_contextname,snmpv3_securityname,snmpv3_securi tylevel,snmpv3_authprotocol,snmpv3_authpassphrase, snmpv3_privprotocol,snmpv3_privpassphrase,delay_fl ex,params,ipmi_sensor,authtype,username,password,p ublickey,privatekey,port,filter,lifetime,descripti on,key_,trapper_hosts,hostid,flags,value_type,data _type,interfaceid,itemid) VALUES ('Disks','10','','','300','0','','','0','0','','0' ,'','','','','0','','','','','',Array,'1','','emc_ clariion.py[\"--disk\", \"--item\", \"discovery\"]','','10798','1','4','0',NULL,'62212')".


        Can you help me?

        thanks

        Comment

        • JoohnyO
          Junior Member
          • Jul 2014
          • 25

          #5
          Originally posted by gkveselava
          Can you help me?
          Template, that in archive above, was imported from zabbix 2.4, so, first of all, try to update zabbix to latest version of 2.2 brach - 2.2.9.
          I don't really know, did Zabbix Dev's add backward compatibility for templates, that was created on 2.4 branch, but you can always try.

          If it will not help, why not try update your zabbix to 2.4?
          If its not suits you, then you need to take discovery's from my template, and add it to your template by hand.

          Comment

          • N678
            Junior Member
            • Oct 2015
            • 2

            #6
            hello JoohnyO,

            after performing all the steps, the emc_clariion_opt.py script works at the terminal but on zabbix gives error "no suck file or directory".
            Follow each of my prints configuration and error.
            You have no idea what may is causing this error?


            best regards
            Attached Files
            Last edited by N678; 05-10-2015, 20:15.

            Comment

            • Seth
              Junior Member
              • Oct 2015
              • 1

              #7
              Originally posted by N678
              hello JoohnyO,


              You have no idea what may is causing this error?
              Hi! You need to rename emc_clariion_opt.py to emc_clariion.py

              Comment

              • gospodin.horoshiy
                Senior Member
                • Sep 2008
                • 272

                #8
                Hi, your solution looks solid. Why not to share it on share.zabbix.com?

                Thanks for your work
                Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
                200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

                Comment

                • gospodin.horoshiy
                  Senior Member
                  • Sep 2008
                  • 272

                  #9
                  I believe I found some bug with discovery?

                  Code:
                  [root@VM-ZABBIX-01 externalscripts]# ./emc_clariion.py --ports --item discovery    
                  {"data":
                  [{"{#NAME}": "SPA 0"}, {"{#NAME}": "SPA 1"}, {"{#NAME}": "SPA 2"}, {"{#NAME}": "SPA 3"}, {"{#NAME}": "SPB 0"}, {"{#NAME}": "SPB 1"}, {"{#NAME}": "SPB 2"}, {"{#NAME}": "SPB 3"}]
                  }
                  
                  
                  [root@ZABBIX-01 externalscripts]# ./emc_clariion.py --powertemp --item discovery     
                  {"data":
                  [{"{#NAME}": "DPE9 Bus 0 Enclosure 0"}, {"{#NAME}": "DAE5S Bus 0 Enclosure 1"}, {"{#NAME}": "DAE5S Bus 1 Enclosure 0"}, {"{#NAME}": "DAE5S Bus 1 Enclosure 1"}, {"{#NAME}": "DAE6S Bus 1 Enclosure 2"}]
                  }
                  
                  
                  [root@ZABBIX-01 externalscripts]# ./emc_clariion.py --storagepool --item discovery         
                  {"data":
                  [{"{#NAME}": "Pool0"}]
                  }
                  
                  
                  
                  [root@ZABBIX-01 externalscripts]# ./emc_clariion.py --lun --item discovery           
                  Traceback (most recent call last):
                    File "./emc_clariion.py", line 242, in <module>
                      check_lun(lun_items, args.name, args.item)
                    File "./emc_clariion.py", line 96, in check_lun
                      with open(TMP_DIR + 'lun', 'r') as rawdata:
                  IOError: [Errno 2] No such file or directory: '/tmp/emc/lun'
                  
                  
                  
                  [root@ZABBIX-01 externalscripts]# ./emc_clariion.py --disk --item discovery 
                  Traceback (most recent call last):
                    File "./emc_clariion.py", line 250, in <module>
                      check_disk(disk_items, args.name, args.item)
                    File "./emc_clariion.py", line 126, in check_disk
                      with open(TMP_DIR + "disk", 'r') as parseit:
                  IOError: [Errno 2] No such file or directory: '/tmp/emc/disk'
                  all discoveries are working but --lun and --disk are not:
                  I beleive the problem is that under /tmp/emc/
                  folders are
                  disks not disk
                  same with lun:
                  Code:
                  [root@ZABBIX-01 externalscripts]# ls /tmp/emc
                  agent  cache  disks  env  faults  luns  ports  spbusy  storagepool
                  P.S. Do you have any github or bitbucket repository of this code so we can contribute some changes to your script?

                  Cheers
                  Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
                  200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

                  Comment

                  • gospodin.horoshiy
                    Senior Member
                    • Sep 2008
                    • 272

                    #10
                    I managed to connect to VNX 5400 , everything looks cool, well done!

                    I have few errors during items polling here they are:
                    Item name - Error:
                    SP Busy - Received value [NotAvailable] is not suitable for value type [Numeric (float)]
                    SP Idle - Received value [NotAvailable] is not suitable for value type [Numeric (float)]
                    3584000 LUN Capacity - Received value [Bound2048] is not suitable for value type [Numeric (float)]
                    Bound LUN Capacity - Received value [N/ABound2048N/AN/ABound204810485760] is not suitable for value type [Numeric (float)]
                    N/A LUN Capacity - Received value [N/ABound2048N/AN/ABound204810485760] is not suitable for value type [Numeric (float)]
                    Data Gathering Status - Timeout while executing a shell script

                    Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
                    200+ Win Agents, 50+ Linux Agents, 150+ Network Devices

                    Comment

                    • Gurft
                      Junior Member
                      • Dec 2015
                      • 5

                      #11
                      Due to popular demand, I've been working on building a more fully developed plug-in for Zabbix integration with EMC VNX Arrays.

                      The current rev can be found here, be aware that this is actively under development, however should be feature complete within the next few weeks due to customer demand. Questions/Comments/Suggestions/Pull requests are welcome.

                      Code can be found here:


                      In order to get performance statistics we are leveraging the EMC ECOM server to provide the integration, this is available from support.emc.com for customers under a current support contract at no charge.

                      Kurt
                      EMC Senior System Engineer
                      EMC Corporation

                      Comment

                      • MAlain74
                        Junior Member
                        • Apr 2015
                        • 8

                        #12
                        Emc ecom

                        Hello Kurt,

                        Thank you for your Template. Therefore, I have a question:

                        At a Customer site I have EMC ECOM which listen on localhost but not on the LAN IP address. How can I manage to change that. I have access to the VNX.

                        Thank you for your help.

                        Alain

                        Comment

                        • Gurft
                          Junior Member
                          • Dec 2015
                          • 5

                          #13
                          Trying to determine a situation where ECOM only listens on localhost, as I've never run into that before.

                          1. Do you know what ECOM version you are running?
                          2. What OS are you running your ECOM server on?
                          3. Can you confirm it's listening on just localhost via 'netstat -an' and look for ports 5989 and 5988 in the output and post it here?

                          If you're running on Linux, you should be able to run the TestSmiProvider tool which is located in the bin directory of the ECOM installation (often /opt/emc/ECIM/ECOM/bin) and just hit enter through the defaults. It should spit out at least a version.

                          For VNX support you must be running the 4.x series of ECOM, as 8.x only supports VMAX today.

                          Comment

                          • MAlain74
                            Junior Member
                            • Apr 2015
                            • 8

                            #14
                            Hello Gurft,

                            Thank you for your feedback and sorry for my late answer.

                            So far, please find attached a screenshot of the control station.

                            So it seems that the ports listen globally on IPv6 but not IPv4.

                            How can I modifiy that ?

                            For information here is the OS version:

                            Linux 'CS0 Name' 2.6.18-371.1.2.8000.EMC #1 Thu Oct 24 23:32:50 EDT 2013 i686 i686 i386 GNU/Linux

                            I have tried to find TestSmiProvider tool but it does not seem to exist of the file system.

                            Thank you for your help.

                            Kind Regards,

                            MAlain74

                            Comment

                            • Gurft
                              Junior Member
                              • Dec 2015
                              • 5

                              #15
                              So what you're seeing is exactly what it looks like on my box, you'll find on many Linux systems that if you open up a port to listen on all addresses both IPv4 and IPv6. This article explains it better:

                              http://unix.stackexchange.com/questi...nly-in-a-inet6

                              That being said, I've never tested it using the ECOM server on the Control Station, primarily because if you update code on the array, often the CS will be overwritten and I can't control what version of ECOM gets deployed. I also prefer not to add additional workload to the control station.

                              I would stand up a small VM with a separate ECOM server for testing purposes. Be sure to deploy the latest rev of ECOM v4, and not the VMAX version (v8 I believe)

                              Comment

                              Working...