We are receiving alerts from the WebLogic Application Instance State rule when the application is intentionally undeployed or stopped. When an application is undeployed the state is listed as "PresumedStopped", which satisfies the condition of the rule. What can we do to prevent alarms from being triggered for the WebLogic Application Instance State rule when the application is intentionally undeployed or stopped?
The condition of the WebLogic Application Instance state rule is as follows:
____________________________________________________
state = #RuntimeState#;
return (state == 'Unavailable' || state == 'PresumedStopped');
____________________________________________________
It isn't possible for Foglight to distinguish between an application that went down by user interaction on purpose, or otherwise. The state collected simply says its down or up, it doesn't go into more detail than that. The rule condition checks for the value of the variable "RuntimeState" which is a derived metric in foglight that derives these states from the values collected from the appServer, as follows:
'Available': App found to be started
'Unavailable': App found to be not started
'PresumedStopped': No fresh data found - server is probably stopped, app presumed to be unavailable
'PresumedStarted': An error occurred during metric evaluation - app state unknown
WORKAROUND: You can create a blackout if you know when the application will be manually stopped or undeployed. I believe that the WebLogic Application Instance State rule rule still fires if you blackout the agent (some of the JavaEE rules do - like OAS Server State and WebLogic Server state). You can either blackout the entire rule, or blackout the topology object.
Foglight 5.5.5 onwards:
- Go to the Blackout Configuration dashboard (Administration | Setup & Support | Blackout Configuration)
- Click Create a One-Time Blackout
- Leave Suspend Alarms selected and click Next
- Select Advanced Search (All Types) and click Next
- Enter WebLogicApplicationInstance in the search box and wait for the search to complete
- Expand WebLogicApplicationInstance and select the application which are not longer deployed and click Next
- Leave Black Out Indefinitely selected and click Next
- Fill out the Blackout Name and Reason for Blackout fields as you wish and click Finish
Foglight 5.5.4 and before:
Since there is no GUI interface that allows the blackout of topology objects you will have to blackout the object from the command line if you choose to blackout the topology object.
The topology object for the WebLogic Application Instance State rule is "WebLogicApplicationInstance". You can use a command like the following to blackout the object:
$FGLHOME/bin/fglcmd.sh -usr <user> -pwd <password> -cmd topology:blackoutobject -schedulename "Always" -query "WebLogicAppcationInstance where <your query test here>"
You can use a command like the following to remove the blackout:
$FGLHOME/bin/fglcmd.sh -usr <user> -pwd <password> -cmd topology:blackoutobject -remove -schedulename "Always" -query "WebLogicAppcationInstance where <your query test here>"
Enhancement Request PR 80758 was previously filed to ask for the Ability to manage Topology Blackouts via UI.