One of the new features included in Oracle SOA Suite 12c is the ability to define notification rules that will automatically create alerts when something goes wrong. These fault alerts can be routed to communication channels such as email, SMS, and/or IM. Along with this, they can be made visible within the SOA dashboard in Enterprise Manager. The notification of the alerts are also scheduled based on a predefined time frame, allowing for notifications to time based.
Within this blog, the pre-requisites and steps required to configure this new functionality are detailed.
The installation of the Enterprise Scheduler Service (ESS) is a prerequisite and is necessary in order to define a notification rule within SOA. An ESS schedule is associated with a notification rule and is used to tell it when to kick off an error notification. One thing to note, ESS is not compatible with the Java Database, which means it cannot be installed within the Integrated WebLogic Server default domain from JDeveloper found in the SOA Suite Quick Start distribution. It is, though, compatible with the Oracle Database Express Edition (XE). This will require the Repository Creation Utility (rcu.bat) to be run after the database is installed. Once this is done, run the config.cmd (part of the Quick Start distribution) to create and configure the compact domain. Be sure to specify the ESS components from the available templates:
Define a Schedule
Prior to creating an alert, a schedule needs to be defined within ESS. This is done within Enterprise Manager (EM) by navigating to ‘Define Schedules’ as shown below:
When defining a schedule to be used within an alert notification rule, it is necessary to specify the Package as ‘soa’. This will enable the defined schedule to be available for selection when creating a notification rule. Select the frequency of the schedule, along with the start date and end date. If an end date is not necessary, deselect the ‘Use End Date’ check box:
Now that the schedule is defined, the alert notification rule can be configured. In EM, navigate to ‘Error Notification Rules’, as shown below:
Select the desire Schedule from the drop down box:
The first condition that the notification rule considers is the amount of time, in hours, to look for errors. In the example below, any faults that occurred within the last 48 hours will cause an alert notification to be made. In addition to the time based criteria, additional conditions can be specified by selecting the drop down box as shown below. Each of these allow for further granularity to be defined within the rule. For example, the rule could be defined to look by composite name, number of faults that occured during a given timeframe, or Fault Types that are either System, Business, or OWSM.
When the criteria in the ‘If’ clause is met, the action can include sending an email, IM, and/or SMS. Note that the User Messaging Service (UMS) does need to be configured to enable these to work.
Checking the box as shown below enables the alert to be visible within the ‘Fault Alerts’ section of the SOA dashboard:
Now, the alert is visible within the dashboard:
When defining the notification rules, consider how long (hours) the rule should be configured to look for errors, taking into consideration also the schedule frequency. For example, if the rule specifies to report on faults that occurred in the last 48 hours and the schedule for the rule was kicked off every 10 minutes, then an alert would be generated 288 times for just one fault occurrence! As you could imagine, this could lead to an 'over-informed' situation, which can sometimes be worse than not being alerted of an error condition.
The new fault notification alert functionality in 12c is definitely something that should be considered when developing your solution. It can assist with monitoring Service Level Agreements (SLAs) and provide necessary notification when something goes wrong.