We have issues with certain AO rules not being executed in NAS and when we went through the activity log we noticed that certain AO rules are taking too long time to execute . We suspect it could be because of some long executing AO rules few of the other rules might be missing their cycle to execute
Does anyone have idea on the logic used to execute NAS AO rules . Do they execute sequentially one after the other or can they run in parallel ?
Is there anything we can do with nas to improve the performance of AO rules , we are missing out on some of the critical AO rules in our environment and its getting tricky to trace the exact root cause of it...
any clues...thoughts would be greatly appreciated
Hi Phani, what version of nas and UIM are you running?
I know some older versions of nas struggled with a large amount of auto-operator profiles. About how many do you have?
Have you tried using the profile scheduler?
nas is a synchronous process.
each alarm must be compared to every AO to see if it matches.
each AO has an order by number that can be set.
If in the NAS AO screen you scroll to the right you will see this order.
This is the order that will be processed.
A couple of things I usually suggest.
1) do not have too many AO set for on arrival. Set most to on overdue at least 5s.
2) if an alarm will not need to be evaluated by any other AO have the AO break and not check other AO.
3) do not use on interval as this requires nas to go through ALL open alarms again on every interval.
hope this helps
Yes, we are on quite a old version of nas (4.73)
If one of the AO rules takes 5 minutes to execute, does that mean it just hold's up the rest of the rules from executing ? We have a script being run using a AO which does certain tasks and it taking approximately 5 min to complete as per the activity log, so that means that it would hold up all other profiles form executing in the mean time ?
What is this script doing?
Perhaps you can run such long running scripts outside AO, via nexec or logmon?
Well yes, its not something which is to be run from nas, but yes we are using nas to run it currently . We might need to explore other ways to run the script
Also I am looking for your advice on my earlier question..just for my understanding ...
The AO events have to be executed in arrival order which limits the NAS to processing the events one at a time. If you have a long running process that needs the AO to start but doesn't affect subsequent alert entries then consider launching that script as a detached process. I also believe that the nas callback "script_run" returns immediately from the callback while leaving the script running. Because that's not in the alert flow, it is independent of the sequential nature of the AO profiles.
Other options that might work would be to have the AO just create a trigger file and have your script run by the Windows scheduler (or cron) and if that trigger file exists, delete it then do your long process. Otherwise just terminate and try again in a minute.
Lots of option there I think.