Is there an SLNet call to query and an agent for the current failover mechanism (automatic, manual)
I wish to monitor an agent to see if it has been left in manual failover and the time it has been left in manual and create an alarm after a given duration
Hi,
You can request the status of the failover with this message.
FailoverConfigMessage fc = engine.SendSingleResponseMessage(new GetInfoMessage(yourDataMinerID, InfoType.FailoverConfig)) as FailoverConfigMessage;
DmsAgent[] agents = fc.Agents;
If you loop through the agents, you will see a property "IsAutomatic".
From an automation script, you can set a parameter on a dummy element which you can alarm.
I'm not sure if you can see when it was put in automatic or manual mode.
I'll have to check this, hope this already helps you further.
note: This is an internal call and we do not recommend using this, as it is not officially supported and we cannot guarantee that it will still work in the future. As a rule, you should avoid using SLNet calls, as these are subject to change without notice.
Small detail but Engine.SLNet or Engine.SLNetRaw are highly discouraged and should never be used. Instead use the non-static methods on the instance of the Engine type, e.g. engine.SendSLNetSingleResponseMessage().
Small remark: if you need a dummy element because of the needed parameter to alarm on, then you might as well put the logic in a QAction of that element instead of going first through an automation script