Since last Friday (when we installed the last update of PRTG) we are no longer able to run Advanced Python Sensor on a remote probe. The scripts haven't changed and still work on the local probe, but can't find the winrandom module in Python on the remote probe. All python34 files which are on the local server are present on the probe as well. PRTG Network Monitor 18.4.46.1754 x64
Something must have changed but after seaching for 2 days I haven't been able to find the source of the issue. Installed a new remote probe on a new machine and it has the same issue.
Detailed error is
29/01/2019 14:21:29 Script Output (UTF8 Encoding): Traceback (most recent call last):[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\custom sensors\python\ssh_x5_evolution_b927.py", line 3, in <module>[CR][LF] import paramiko[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\paramiko\__init__.py", line 30, in <module>[CR][LF] from paramiko.transport import SecurityOptions, Transport[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\paramiko\transport.py", line 49, in <module>[CR][LF] from paramiko.dsskey import DSSKey[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\paramiko\dsskey.py", line 26, in <module>[CR][LF] from Crypto.PublicKey import DSA[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\Crypto\PublicKey\DSA.py", line 89, in <module>[CR][LF] from Crypto import Random[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\Crypto\Random\__init__.py", line 28, in <module>[CR][LF] from Crypto.Random import OSRNG[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\Crypto\Random\OSRNG\__init__.py", line 34, in <module>[CR][LF] from Crypto.Random.OSRNG.nt import new[CR][LF] File "C:\Program Files (x86)\PRTG Network Monitor\Python34\lib\site-packages\Crypto\Random\OSRNG\nt.py", line 28, in <module>[CR][LF] import winrandom[CR][LF]ImportError: No module named 'winrandom'[CR][LF]
Tried the standard from . import winrandom and some variations on the nt.py file but no success.
Any ideas would be welcome
Thanks Michaël
Article Comments
Good morning Stephan, Thank you for the fast response. I did try to reinstall winrandom with pip on both machines but that resulted in failure (see below in both cases)
Additionally will PRTG update its python version from 3.4 ?
DEPRECATION: Python 3.4 support has been deprecated. pip 19.1 will be the last one supporting it. Please upgrade your Python as Python 3.4 won't be maintained after March 2019 (cf PEP 429).
Kind regards Michaël
Collecting winrandom
Using cached https://files.pythonhosted.org/packages/b8/db/b0a2e6b6600c8e00e1cf31e0cd95622283c31a380259dd5e0998201583d0/winrandom-1.2.zip
Building wheels for collected packages: winrandom
Building wheel for winrandom (setup.py) ... error
Complete output from command "c:\program files (x86)\prtg network monitor\python34\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\qsecofr
\\AppData\\Local\\Temp\\pip-install-wt2yl0j2\\winrandom\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exe
c(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\qsecofr\AppData\Local\Temp\pip-wheel-0u2ix56p --python-tag cp34:
running bdist_wheel
running build
running build_ext
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\qsecofr\AppData\Local\Temp\pip-install-wt2yl0j2\winrandom\setup.py", line 43, in <module>
ext_modules=[winrandom1])
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\program files (x86)\prtg network monitor\python34\lib\site-packages\wheel\bdist_wheel.py", line 188, in run
self.run_command('build')
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\command\build.py", line 126, in run
self.run_command(cmd_name)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\program files (x86)\prtg network monitor\python34\lib\site-packages\setuptools\command\build_ext.py", line 78, in run
_build_ext.run(self)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\command\build_ext.py", line 308, in run
force=self.force)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\ccompiler.py", line 1031, in new_compiler
return klass(None, dry_run, force)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cygwinccompiler.py", line 282, in __init__
CygwinCCompiler.__init__ (self, verbose, dry_run, force)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cygwinccompiler.py", line 126, in __init__
if self.ld_version >= "2.10.90":
TypeError: unorderable types: NoneType() >= str()
----------------------------------------
Failed building wheel for winrandom
Running setup.py clean for winrandom
Failed to build winrandom
Installing collected packages: winrandom
Running setup.py install for winrandom ... error
Complete output from command "c:\program files (x86)\prtg network monitor\python34\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\qseco
fr\\AppData\\Local\\Temp\\pip-install-wt2yl0j2\\winrandom\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();e
xec(compile(code, __file__, 'exec'))" install --record C:\Users\qsecofr\AppData\Local\Temp\pip-record-x6hz6sqb\install-record.txt --single-version-externally-ma
naged --compile:
running install
running build
running build_ext
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\qsecofr\AppData\Local\Temp\pip-install-wt2yl0j2\winrandom\setup.py", line 43, in <module>
ext_modules=[winrandom1])
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\program files (x86)\prtg network monitor\python34\lib\site-packages\setuptools\command\install.py", line 61, in run
return orig.install.run(self)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\command\install.py", line 539, in run
self.run_command('build')
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\command\build.py", line 126, in run
self.run_command(cmd_name)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\program files (x86)\prtg network monitor\python34\lib\site-packages\setuptools\command\build_ext.py", line 78, in run
_build_ext.run(self)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\command\build_ext.py", line 308, in run
force=self.force)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\ccompiler.py", line 1031, in new_compiler
return klass(None, dry_run, force)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cygwinccompiler.py", line 282, in __init__
CygwinCCompiler.__init__ (self, verbose, dry_run, force)
File "c:\program files (x86)\prtg network monitor\python34\lib\distutils\cygwinccompiler.py", line 126, in __init__
if self.ld_version >= "2.10.90":
TypeError: unorderable types: NoneType() >= str()
----------------------------------------
Command ""c:\program files (x86)\prtg network monitor\python34\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\qsecofr\\AppData\\Local\\Temp
\\pip-install-wt2yl0j2\\winrandom\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file
__, 'exec'))" install --record C:\Users\qsecofr\AppData\Local\Temp\pip-record-x6hz6sqb\install-record.txt --single-version-externally-managed --compile" failed
with error code 1 in C:\Users\qsecofr\AppData\Local\Temp\pip-install-wt2yl0j2\winrandom\
Jan, 2019 - Permalink
Ah, bummer. We do indeed plan to update it as there's a ticket for it, but this will take quite some time I'm afraid. In the meantime, could you use PowerShell and the EXE/Script (Advanced) Sensors to execute python.exe from a different Python installation? That should actually work. Perhaps the returned result needs to be tailored somewhat.
PRTG Scheduler |
PRTGapi |
Feature Requests |
WMI Issues |
SNMP Issues
Kind regards,
Stephan Linke, Tech Support Team
Jan, 2019 - Permalink
Not exactly the answer I was looking for. Especially that we have been building our application based on the assumption that your platform woudl offer the necessary stability. Back to the drawingboard. :-(^:-(
Jan, 2019 - Permalink
But you could use the very same python script you already developed? You're just executing it "passively" via PowerShell, instead of using a Python Sensor :)
PRTG Scheduler |
PRTGapi |
Feature Requests |
WMI Issues |
SNMP Issues
Kind regards,
Stephan Linke, Tech Support Team
Jan, 2019 - Permalink
True, but I would lose all accumulated data for that sensor ... I need to think about the further implications.
Jan, 2019 - Permalink
Hi,
Unfortunately it's not fixed yet. However it will get fixed soon in the upcoming version 20.x.55.
Kind Regards,
Timo Dambach
Paessler Tech Support
Dec, 2019 - Permalink
Did you try to install winrandom via pip? You'll need to install it first in PRTGs Python directory:
python get-pip.pyPRTG Scheduler | PRTGapi | Feature Requests | WMI Issues | SNMP Issues
Kind regards,
Stephan Linke, Tech Support Team
Jan, 2019 - Permalink