Skip navigation
3738 Views 12 Replies Latest reply: Jul 20, 2012 12:01 PM by Shane Scott RSS
TheHoff Rank: White Belt 8 posts since
Jul 2, 2012
Currently Being Moderated

Jul 2, 2012 8:49 AM

Check_ping graphs not working on all devices

Greetings

 

I've been doing some searching for a while, I've been close several times, but has not yet found any good pointers for my problem.

 

First the specs

ZenossZenoss 3.1.0
OSLinux (x86_64) 2.6.18 (Linux zenoss 2.6.18-308.8.2.el5 #1 SMP Tue Jun 12 09:58:12 EDT 2012 x86_64)
ZopeZope 2.12.1
PythonPython 2.6.2
DatabaseMySQL 5.0.95 (Ver 5.0.95)
RRDRRDtool 1.3.9
TwistedTwisted 8.1.0
NetSnmpNetSnmp 5.3.2
PyNetSnmpPyNetSnmp 0.28.14
WMIWmi 1.3.13

 

It's an old installation with litte or no background information available other than that "The check_ping graphs has always worked"...and now the don't...for some devices. Example: I have one "old" device which has a nice check_ping RTA and Loss graph running stable for some weeks now, and I have recently added device where the graph is blank. And then in the reverse, I have several old devices with no graphs and a few new ones with working graphs. No pattern to it as far as I can see.

 

Now, the thing is, when I try to run the monitoring template test function against and IP I get

 

Exception while performing command:

Traceback (most recent call last):

  File "/opt/zenoss/Products/ZenUI3/browser/command.py", line 108, in stream

    data = unjson(request.form['data'])

  File "/opt/zenoss/Products/ZenUtils/jsonutils.py", line 175, in unjson

    return _json.loads(value, **kw)

  File "/opt/zenoss/lib/python2.6/json/__init__.py", line 318, in loads

    return cls(encoding=encoding, **kw).decode(s)

  File "/opt/zenoss/Products/ZenUtils/jsonutils.py", line 37, in decode

    result = super(StringifyingDecoder, self).decode(s)

  File "/opt/zenoss/lib/python2.6/json/decoder.py", line 319, in decode

    obj, end = self.raw_decode(s, idx=_w(s, 0).end())

  File "/opt/zenoss/lib/python2.6/json/decoder.py", line 336, in raw_decode

    obj, end = self._scanner.iterscan(s, **kw).next()

  File "/opt/zenoss/lib/python2.6/json/scanner.py", line 55, in iterscan

    rval, next_pos = action(m, context)

  File "/opt/zenoss/lib/python2.6/json/decoder.py", line 183, in JSONObject

    value, end = iterscan(s, idx=end, context=context).next()

  File "/opt/zenoss/lib/python2.6/json/scanner.py", line 55, in iterscan

    rval, next_pos = action(m, context)

  File "/opt/zenoss/lib/python2.6/json/decoder.py", line 155, in JSONString

    return scanstring(match.string, match.end(), encoding, strict)

ValueError: Unterminated string starting at: line 1 column 163 (char 163)

 

So why is it even working for some devices? It feels like it would be alot simpler if none of the graphs showed anything, at least the exception would feel valid. I've found some posts indicating that the exception might relate to a parsing error in the command string, which is

check_ping -H $devname -w 180,100% -c 300,100% | sed -e 's# - Packet loss#|LOSS#;s#%,##;s#ms##;s# = #=#g'

But I have no clue where to even start looking in the string

 

Any ideas?

 

Regards

Fredrik

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    2. Jul 6, 2012 5:03 PM (in response to TheHoff)
    Re: Check_ping graphs not working on all devices

    Fredrik:

     

    It sounds like the rrds for some devices may ahve been corrupt or malformed for the datasource. Can you post the trace from test?

     

    --Shane (Hackman238)

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    4. Jul 9, 2012 6:47 AM (in response to TheHoff)
    Re: Check_ping graphs not working on all devices

    Fredrik:

     

    Go to the datasource in question, double click it and fill in the test field with a device being monitored by ZenOSS then click test. Copy and paste the traceback.

     

    Best,

    --Shane (Hackman238)

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    6. Jul 9, 2012 8:50 AM (in response to TheHoff)
    Re: Check_ping graphs not working on all devices

    Fredrik:

     

    Ah okay. Does the same problem occur when you run it against a deviceId of a device in zenoss rather than it's ip?

     

    Best,

    --Shane

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    8. Jul 12, 2012 11:59 PM (in response to TheHoff)
    Re: Check_ping graphs not working on all devices

    Fredrik:

     

    I'm unable to replicate this locally on ZenOSS v3.2.1 x86-64. What version are you running and have you patched the code at all?

     

    Best,

    --Shane (Hackman238)

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    10. Jul 19, 2012 11:23 AM (in response to TheHoff)
    Re: Check_ping graphs not working on all devices

    Fredrik:

     

    Sorry for the delay. Can you post your /opt/zenoss/lib/python2.6/json/decoder.py and confirm the exact command being run is check_ping -H $devname -w 180,100% -c 300,100% | sed -e 's# - Packet loss#|LOSS#;s#%,##;s#ms##;s# = #=#g' ?

     

    Thanks!

     

    Best,

    --Shane (Hackman238)

  • Shane Scott ZenossMaster 1,373 posts since
    Jul 6, 2009
    Currently Being Moderated
    12. Jul 20, 2012 12:01 PM (in response to TheHoff)
    Re: Check_ping graphs not working on all devices

    Fredrik:

     

    The forum ate a bunch of formatting. Can you paste bin this or attach the file?

     

    Best,

    --Shane (Hackman238)

More Like This

  • Retrieving data ...

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points