Set order of execution in Action Profile

Need new test, action, option? Post request here.
Post Reply
Scooby
Posts: 10
Joined: Wed May 21, 2008 6:46 am

Set order of execution in Action Profile

Post by Scooby »

It would be handy to be able to change the order that items in the action profile were processed.

Currently, it appears that an action profile with multiple actions are processed in order of insertion.

I have multiple actions that do various tasks (send email, SMS, post messages in IRC, update twitter statuses, etc.) These actions happen at different time intervals and with different recipient lists. I have been using comment fields in the tests as registers so that I can programatically keep track of what has been done and what has not been done so that for example, I can send both emails and SMS messages after a test has been offline for 5 minutes, then again at 10 minutes to a larger distribution list, etc.

My problem arose when I recently added a new action item to the list. Due to the fact that the newest item is processed last, the comment field has already been updated so it does not actually execute.

To resolve the issue, I need to be able to change the order of execution of the action items (preferably without having to delete and recreate them)

I realize this sounds a bit convoluted, so I'm including an example of what my 'condition to start' looks like:

('%SimpleStatus%'=='DOWN') and (%CurrentStatusDuration_sec%>300) AND (%CurrentStatusDuration_sec%<600) AND ('%CommentLine2%'<>'Down 5')

Needless to say, the last thing that needs to happen at the 5-minute mark is to update comment line 2 with the text 'Down 5'.

Thank You.
KS-Soft
Posts: 13012
Joined: Wed Apr 03, 2002 6:00 pm
Location: USA
Contact:

Post by KS-Soft »

Currently, it appears that an action profile with multiple actions are processed in order of insertion
If you set the same "conditions to start" for several actions then yes, actions will be executed in creation order.
We have such task in the list, medium priority.
Meantime you may move such actions by recreating them (yes, its not very convenient in some cases)

Regards
Alex
Scooby
Posts: 10
Joined: Wed May 21, 2008 6:46 am

Post by Scooby »

That is most unfortunate and a real pain in the butt. It seems that it wouldn't be too uncommon that one might want multiple actions to take place at the same 'Condions to Start'. In my case, I am trying to send an email, a text message, call a shell script, make an HTTP call, and finally execute a HMS script.

Due to the fact that my action plans are based on number of minutes the test is in a 'bad' status (or how long it was in a 'bad' status prior to turning 'good'), I've had to add alot of logic and use comment fields to track what watermark the test has hit.

Needless to say, updating the comment field must happen last as the contents of that comment determine which action items need to happen and which need to be skipped.

Deleting and re-adding 3-4 tests every time I need to add a new alert method is a cumbersome process.

None the less, I appreciate that you have this item on the list of features to be added in some future release.

Thank you.
KS-Soft
Posts: 13012
Joined: Wed Apr 03, 2002 6:00 pm
Location: USA
Contact:

Post by KS-Soft »

I can explain why this option is not implemented yet - because it does not have any sense for most of the action methods.
E.g. if you specify the same "start conditions" for "Send e-mail", "Send message to Jabber", "Send message to pager" and "Execute external program" actions, all these actions will be executed simultaneously. HostMonitor does not wait when specified external program finishes its work (it can take 1 or 30 minutes, who knows). HostMonitor continues to perform tests and actions.
There are just several exceptions:
- record HM log
- generate reports
- SQL Query
- change test interval
- run HMS script
In my case, I am trying to send an email, a text message, call a shell script, make an HTTP call, and finally execute a HMS script.
Then this option can be useful only for one of these actions: HMS script

Regards
Alex
Scooby
Posts: 10
Joined: Wed May 21, 2008 6:46 am

Post by Scooby »

Fair enough.

Thank you for the explanation.

Possibly, is there a better way to perform multiple actions after a certain amount of down time (rather then after a specific number of failures)

For example, after a test is in the 'failed' status for 5 minutes, send an email and text messages. Then wait until the test has been offline for 10 minutes and send another email and text message to a different list of people. then at 20 minutes, do it all again to yet another distribution list.

My first attempt involved calculating number of consecutive failures and interval between tests to determine when the time intervals occurred but quickly discovered large time differences. I assumed that this was caused by the additional time it took to take each test (especially if ti had to wait for a long timeout).

Possibly then a better approach would be to have a 'standard action' trigger as "Start after 'x' minutes consecutive 'bad' results occur" with the the standard "Repeat 'y' times or until status changes" ?

...or maybe I'm missing some obvious feature in the advanced mode 'Condition to start'.

Thank you.
KS-Soft
Posts: 13012
Joined: Wed Apr 03, 2002 6:00 pm
Location: USA
Contact:

Post by KS-Soft »

Possibly, is there a better way to perform multiple actions after a certain amount of down time (rather then after a specific number of failures)
As I see you know this way - use advanced action and %CurrentStatusDuration_sec% variable
Possibly then a better approach would be to have a 'standard action' trigger as "Start after 'x' minutes consecutive 'bad' results occur" with the the standard "Repeat 'y' times or until status changes" ?
Yeah, may be. We will consider this...
or maybe I'm missing some obvious feature in the advanced mode 'Condition to start'.
No. You are right

Regards
Alex
Scooby
Posts: 10
Joined: Wed May 21, 2008 6:46 am

Post by Scooby »

Thank you.

Additionally, I want to add that overall, I am very impressed with HostMonitor. It is reasonably priced, works very well, and is not overly complicated.

I have used various software packages for monitoring and by far, this one is my favorite as it does 90% of what I need out of the box and is easy to follow.

Keep up the great work!
KS-Soft
Posts: 13012
Joined: Wed Apr 03, 2002 6:00 pm
Location: USA
Contact:

Post by KS-Soft »

Thank you :)
You may post your opinion into "References" forum, as we do not see new ports there for a long time 8)
http://www.ks-soft.net/cgi-bin/phpBB/viewforum.php?f=12

Regards
Alex
Post Reply