[Xymon] [External] Windows XymonPSClient feature request
zak.beck at accenture.com
Thu Mar 21 14:55:01 CET 2019
Interesting, yes, we don’t have any guards against that and it does happen (I've seen it too).
Quick dump of my thoughts:
Firstly, this should only be an issue for async tasks. The client blocks for sync tasks and so you shouldn't get them stacking up - this is a potential solution for your issue which then becomes why do I have so many purple clients 🙂. However, you might want to add a timeout for sync tasks and the way it's written should make this reasonably easy.
For tasks with a maxtime, we're going to need to store the process object along with the start time and duration. In fact to keep things simple, I would suggest storing this anyway even if maxtime = 0 (which I'd use to mean indefinite).
One consideration is that by default, the client only runs every five minutes - so the shortest duration we can act on is five minutes or multiples of. For that reason I'd suggest that maxtime should be an integer expressed in minutes without further suffixes.
From: Andy Smith <abs at shadymint.com>
Sent: Thursday, 21 March 2019 13:35
To: xymon at xymon.com
Cc: Beck, Zak <zak.beck at accenture.com>
Subject: [External] Windows XymonPSClient feature request
This message is from an EXTERNAL SENDER - be CAUTIOUS, particularly with links and attachments.
Hi Zak and others,
I have been discussing a forthcoming implementation with some Windows admins and they already have a bunch of externals which we are talking about scheduling for them via remote client-local.cfg configuration items.
They have been bitten previously by some of the scripts hanging on a network response issue and subsequent runs hitting the same fate until the box hangs with memory issues or whatever.
I think it would be relatively straight forward to implement something like this that wouldnt break existing configurations :-
where the MAXTIME keyword sets a maximum time that the SCRIPT may run; if exceeded, XymonPSClient will kill the SCRIPT. The time is in seconds by default, you can specify minutes, hours or days by adding an "m", "h"
or "d" after the number. By default there is no upper limit on how long a SCRIPT may run. [description lifted from tasks.cfg for a Unix client.]
I am not a powershell programmer but I would be willing to give it a go if anyone thinks this is the right way forward?
This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy. Your privacy is important to us. Accenture uses your personal data only in compliance with data protection laws. For further information on how Accenture processes your personal data, please see our privacy statement at https://www.accenture.com/us-en/privacy-policy.
More information about the Xymon