Skip navigation
1 ... 5 6 7 8 9 Previous Next 759895 Views 132 Replies Latest reply: Mar 16, 2011 4:23 PM by kchengva RSS Go to original post
  • zenorr Rank: White Belt 67 posts since
    May 6, 2010
    Currently Being Moderated
    120. Feb 4, 2011 7:26 AM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    aarrgghh, once again, a zenoss restart broke the ZenPack, the Collect_SLA.py is never called anymore...

  • me-s Rank: White Belt 22 posts since
    Jan 26, 2011
    Currently Being Moderated
    121. Feb 22, 2011 8:12 AM (in response to Matt Ray)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    At the first thanks for this zenpack

    After install the Zenpack ,when I try to add ipSLA zPythonClass (ZenPacks.ipSLA.SLADevice.SLADevice) to My router configuration peroperties , it dosn't Show any class or anything for ipSLA , also I add  ipSLAdevice modeler plugin but nothing changes.

     

     

    Aris System

    Techinal R&D  

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    122. Feb 22, 2011 12:12 PM (in response to me-s)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Aris Team:

     

    Thank you for using my product. Could you please provide the following information to me via PM or my email, Hackman238@gmail.com.

     

    1) Which version of Zenoss do you use?

     

    2) What Linux platform do you operate under?

     

    3) What format of Zenoss installation do you use? (Stack or Native)

     

    4) What CPU architecture do you use? (32-bit or 64-bit)

     

    5) What type of device are you using as your SLA host?

     

    I apperciate the oppertunity to assist you.

     

    Best,

    --Shane W Scott

    60 Mansion blvd

    Delmar, NY, 12054

    (518) 378-6422

    Hackman238@gmail.com

    Http://ShaneWilliamScott.com

  • kchengva Rank: White Belt 66 posts since
    Aug 4, 2010
    Currently Being Moderated
    123. Feb 24, 2011 5:02 PM (in response to Shane Scott)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Shane,

     

    I am using your zenpack and working almost ok, the only item is not working well at -k {here/instance} from voip.  We are using this monitoring multicast traffic jitter, since I only interest one ipsla tag, I manually hard-coded the instance(tag) value. I also reset the graph definition for our graph (see attachment) need. of course I changed the rttMonLatestJitterOperIAJOut using rttMonLatestJitterOperAvgSDJ (oid .x.x.x....47) and rttMonLatestJitterOperIAJIn using rttMonLatestJitterOperAvgDSJ (oid .x.x.x....48) to show inbound/outbound jitter values. It appears both rttMonLatestJitterOperlAJOUT/IN in our cisco routers show only zeros, and I put the ntp state (oid .x.x.x...52) to show if any router unsync. Anyway, we are on Mac xServer 64bit, 32bit zenoss stack, zenoss 3.0.3.

     

    -kevin

    Attachments:
  • kchengva Rank: White Belt 66 posts since
    Aug 4, 2010
    Currently Being Moderated
    124. Feb 24, 2011 5:24 PM (in response to kchengva)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Another item I don't bother look into is ipsla naming tags, on zenoss 3.0.3. I have two places show this zenpack name.

     

    1) Under devices, components show "SLAS(x)" and each tag showing status down. You can pick up the graph performance from this area.

    2) Under devices, "IP SLAs"  shows all name/tag with instances. if you try to click the sla name/tag, it will cascade windows on IE 6. I think this might be a bug, or simply don't need it.

     

    just bring up this if you would update zenpack in the near future... thanks.

  • me-s Rank: White Belt 22 posts since
    Jan 26, 2011
    Currently Being Moderated
    125. Feb 27, 2011 6:07 AM (in response to Shane Scott)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Hi hackman

     

    Thanks for your reply

     

    1) 3.0.3

    2) CentOS 5

    3) Source Compiled

    4) 64Bit

    5) Cisco Router 2600 Series

     

     

    I have no any problem with my Zenoss and everything works nice but, Zpython Class, Also I want to say my router joind to Device/network/Router/Cisco and every graph collected perfectly , I don't wanna to change monitoring template to ipSLA , I want Bind it.

     

     

    Regards

     

    Aris System

     

    Technical R&D

  • zenorr Rank: White Belt 67 posts since
    May 6, 2010
    Currently Being Moderated
    126. Apr 13, 2011 9:06 AM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Hi Shane and others,

     

    I'm comming back to this "polling stopped" issue, as I again experienced it, and got some more background information.

     

    It starts in zenhub.log :

     

    2011-03-10 20:36:13,926 INFO zen.ZenHub: Worker reports 2011-03-10 20:36:13,925 WARNING zen.ZenStatus: device 'X2' network '10.3.32.32/27' not in topology

    2011-03-10 20:36:14,226 INFO zen.ZenHub: Worker reports 2011-03-10 20:36:14,226 WARNING zen.ZenStatus: device 'X1 network '10.3.8.139/32' not in topology

    2011-03-10 20:37:56,037 INFO zen.ZenHub: Worker reports 2011-03-10 20:37:56,036 ERROR zen.hub: device X1
    Traceback (most recent call last):
      File "/opt/zenoss/zenoss/Products/ZenHub/services/CommandConfig.py", line 114, in getDataSourceCommands
        cmdinfo = getDeviceCommands(dev)
      File "/opt/zenoss/zenoss/Products/ZenHub/services/CommandConfig.py", line 69, in getDeviceCommands
        threshs = getComponentCommands(dev, cache, cmds, dev.getDmd())
      File "/opt/zenoss/zenoss/Products/ZenHub/services/CommandConfig.py", line 57, in getComponentCommands
        cmd.command = ds.getCommand(comp)
      File "/opt/zenoss/zenoss/Products/ZenModel/RRDDataSource.py", line 207, in getCommand
        res = compiled(getEngine().getContext(environ))
      File "/opt/zenoss/zenoss/lib/python/zope/tales/expressions.py", line 261, in __call__
        v = var(econtext)
      File "/opt/zenoss/zenoss/lib/python/zope/tales/expressions.py", line 217, in __call__
        return self._eval(econtext)
      File "/opt/zenoss/zenoss/lib/python/Products/PageTemplates/Expressions.py", line 131, in _eval
        ob = self._subexprs[-1](econtext)
      File "/opt/zenoss/zenoss/lib/python/zope/tales/expressions.py", line 124, in _eval
        ob = self._traverser(ob, element, econtext)
      File "/opt/zenoss/zenoss/lib/python/Products/PageTemplates/Expressions.py", line 80, in boboAwareZopeTraverse
        object = object.restrictedTraverse(name)
      File "/opt/zenoss/zenoss/lib/python/OFS/Traversable.py", line 301, in restrictedTraverse
        return self.unrestrictedTraverse(path, default, restricted=True)
      File "/opt/zenoss/zenoss/lib/python/OFS/Traversable.py", line 284, in unrestrictedTraverse
        raise e
    KeyError: 'instance'

    2011-03-10 20:41:17,623 INFO zen.ZenHub: Worker reports 2011-03-10 20:41:17,622 INFO zen.hub: building pingtree from localhost

    2011-03-10 20:41:28,999 INFO zen.ZenHub: Worker reports 2011-03-10 20:41:28,960 WARNING zen.ZenStatus: device 'X3' network '10.1.63.22/32' not in topology

     

    Then, in zencommand.log :

     

    ...
    2011-03-10 20:37:57,609 INFO zen.zencommand: Deleting command X1 from /opt/zenoss/zenoss/ZenPacks/ZenPacks.ipSLA.SLADevice-2.0.1-py2.4.egg/ZenPacks/ipSLA/SLADevice/Collect_SLA.py -d 10.3.8.139 -c BLABLA -k 1
    2011-03-10 20:37:57,611 DEBUG zen.zencommand: Next command in 0 seconds
    ...
    

     

    To fix it :

     

    • test manually against device :
      • go to data source definition
      • replace "-k ${here/instance}" by "-k 1", save
      • test against device
      • replace "-k 1" with "-k ${here/instance}", save
    • polling works again !

     

    Thoughts / analysis :

     

    • for some reason, the "${here/instance}" stops working (hence the error in zenhub.log)
    • the zenoss decides this data source command is bad and drops it
  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    127. Mar 11, 2011 10:25 AM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Charles:

     

    I hope you've been well!

     

    That is a very interesting solution to the problem. Toggling a variable back and forth to get it to work is something I would expect to produce a working result with a mechanical device (like a second attempt at starting a gasoline engine) rather than a database! I wonder what happening to cause the instance to become unacceptable key whilst never having changed. Curious Zope bizarrness. Have you confirmed that it indeed doe fix the problem every time?

     

    Best,

    --Shane

  • zenorr Rank: White Belt 67 posts since
    May 6, 2010
    Currently Being Moderated
    128. Mar 11, 2011 3:30 PM (in response to Shane Scott)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Hi Shane,

     

    happy to see you here. After you helped me, the thing worked for 3 weeks without a hitch. Then, a nasty colleague started a script and deleted the SLA polling device from Zenoss. After re-adding it and re-setting all properties (collector plugins, template, etc), the IP-SLA polling was broken, with the messages listed above.

     

    Now the fix isn't really one. After trying that fix (-k fix_value), all sorts of things happen, like it calling always the same instance, even after using back the ${here/instance} value for -k. The point is I cannot get it back to polling my IP-SLA device with Collect_SLA.py

     

    My impression now it that it caches the fact that Collect_SLA.py is bad after it found so (see my previous post). I tried restarting zenoss, deleting and re-adding the device, etc, no way...

     

    Any idea where Zenoss would cache the status of such a template data-source command ?

     

    OK, I'm making some progress : I created a new script, to install as 2nd data-source. Here is the code :

     

    #!/usr/bin/env python
    
    from optparse import OptionParser
    import datetime
    import sys
    
    parser = OptionParser()
    parser.add_option("-d", "--device",      dest="device",      default="",       help="device or IP")
    parser.add_option("-c", "--community",   dest="community",   default="",       help="community")
    parser.add_option("-k", "--instance",    dest="instance",    default="",       help="instance")
    (call, args) = parser.parse_args()
    now = datetime.datetime.now()
    f = open('/var/log/zenoss/check_zencommand_ipsla.log', 'a')
    f.write(now.strftime("%Y-%m-%d %H:%M:%S") + " - device=" + call.device + ", community=" + call.community + ", instance=" + call.instance + "\n")
    f.close
    sys.exit(0)
    

     

    it takes the same arguments as Collect_SLA.py, and log them to a file. I added it as new data-source, but I can't get it called by Zenoss. So back to square one : why does Zenoss stop calling this Zenpack ???

     

    Thx,

    Charles

  • zenorr Rank: White Belt 67 posts since
    May 6, 2010
    Currently Being Moderated
    129. Mar 11, 2011 4:39 PM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Even mode debug, Shane, now I'm sure that should shed some light. Zenoss cannot find the list of commands associated with my SLA router...

     

    zenoss@XXX:/opt/zenoss/zenoss/etc$ zendmd
    Welcome to the Zenoss dmd command shell!
    'dmd' is bound to the DataRoot. 'zhelp()' to get a list of commands.
    Use TAB-TAB to see a list of zendmd related commands.
    Tab completion also works for objects -- hit tab after an object name and '.'
    (eg dmd. + tab-key).
    >>> from Products.ZenHub.services.CommandConfig import getDeviceCommands
    >>> cmds = getDeviceCommands(find("my-device-name"))              
    Traceback (most recent call last):
      File "<console>", line 1, in ?
      File "/opt/zenoss/zenoss/Products/ZenHub/services/CommandConfig.py", line 69, in getDeviceCommands
        threshs = getComponentCommands(dev, cache, cmds, dev.getDmd())
      File "/opt/zenoss/zenoss/Products/ZenHub/services/CommandConfig.py", line 57, in getComponentCommands
        cmd.command = ds.getCommand(comp)
      File "/opt/zenoss/zenoss/Products/ZenModel/RRDDataSource.py", line 207, in getCommand
        res = compiled(getEngine().getContext(environ))
      File "/opt/zenoss/zenoss/lib/python/zope/tales/expressions.py", line 261, in __call__
        v = var(econtext)
      File "/opt/zenoss/zenoss/lib/python/zope/tales/expressions.py", line 217, in __call__
        return self._eval(econtext)
      File "/opt/zenoss/zenoss/lib/python/Products/PageTemplates/Expressions.py", line 131, in _eval
        ob = self._subexprs[-1](econtext)
      File "/opt/zenoss/zenoss/lib/python/zope/tales/expressions.py", line 124, in _eval
        ob = self._traverser(ob, element, econtext)
      File "/opt/zenoss/zenoss/lib/python/Products/PageTemplates/Expressions.py", line 80, in boboAwareZopeTraverse
        object = object.restrictedTraverse(name)
      File "/opt/zenoss/zenoss/lib/python/OFS/Traversable.py", line 301, in restrictedTraverse
        return self.unrestrictedTraverse(path, default, restricted=True)
      File "/opt/zenoss/zenoss/lib/python/OFS/Traversable.py", line 284, in unrestrictedTraverse
        raise e
    KeyError: 'instance'
    >>>

  • zenorr Rank: White Belt 67 posts since
    May 6, 2010
    Currently Being Moderated
    130. Mar 15, 2011 9:50 AM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    Some more wild stuff from my deep-experiences in Zenoss-caves :

     

    After zenhub suddenly decide to stop executing Collect_SLA.py because of the "KeyError instance" issue, I tried the following :

     

    • un-bind the New_SLA template
    • execution of Collect_SLA.py restarts (some mystery here, apparently, removing the template from this element should as well disable the data-source command behind it)
    • re-binding the template let Collect_SLA.py continues its job

     

    Now this is a new way to try fixing this Zenpack, even if it's completely against logic.

     

    Some interesting code to list commands associated with a device :

     

    cmds = getDeviceCommands(find("your-device-name"))
    for c in cmds.commands:                             
       print c.command                                  
    
    

    Results :

     

    /opt/zenoss/zenoss/ZenPacks/ZenPacks.ipSLA.SLADevice-2.0.1-py2.4.egg/ZenPacks/ipSLA/SLADevice/Collect_SLA.py -d 10.3.8.139 -c COMM -k 1063
    /opt/zenoss/zenoss/ZenPacks/ZenPacks.ipSLA.SLADevice-2.0.1-py2.4.egg/ZenPacks/ipSLA/SLADevice/Collect_SLA.py -d 10.3.8.139 -c COMM -k 1001
    
  • zenorr Rank: White Belt 67 posts since
    May 6, 2010
    Currently Being Moderated
    131. Mar 16, 2011 5:54 AM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    I found some more details. The New_SLA template must be bound at Zenpack installation time (along with the SLADevice collector plugin) so a device get polled.

     

    However, after the initial modelling, the New_SLA template is bound at each of the SLA instances. And in fact, they do care for the Collect_SLA.py script execution. Even if I un-bind the New_SLA template from the device itself, individual instances are still collected. And the best is : new instance discovered later are as well getting the New_SLA template on their own level.

     

    This would explain the KeyError: 'instance' : it is produced at the device-level, where no instance exists. The question remains why Zenoss does something at that device level where no SLA instance exists.

     

    Shane : could you please think about my analysis and explain what happens here ?

     

    Thx,

    Charles

  • kchengva Rank: White Belt 66 posts since
    Aug 4, 2010
    Currently Being Moderated
    132. Mar 16, 2011 4:23 PM (in response to zenorr)
    Re: New IP-SLA Enumeration/Monitoring ZenPack

    When you are binding ipSLA templates, the SLA_TEST*.rrd files go to Device driectory, you can see the perf data from "Graphs" area.

     

    When ipSLA("SLADevice") is in collector plugins by default zenpack installation, the SLA_TEST*.rrd files are stored at Devices/{hostname}/ipSLAs/SLA/.

    However, the perf graph is not working anymore, Error msg:An error was encountered while publishing this resource. The requested resource does not exist. This problem ONLY for Zenoss 3.1.0, the previous version 3.0.3 were working fine.

1 ... 5 6 7 8 9 Previous Next

More Like This

  • Retrieving data ...