SOA suite 12c monitoring with EM 12c cloud control
Published on: Author: Michel Schildmeijer Category: OracleGood monitoring is knowing how your systems and application are doing at past, present and future time. There are many monitoring tools & solutions at the market, all with pro’s and cons. Building monitoring takes time and effort but in the end gives you the benefit of less disturbance and more guarantee of business continuity.
At the customers I work for, I often implemented Oracle’s Enterprise manager 12c Cloud Control to build a monitoring framework. In this blog I will tell about what needs to be done to build such a framework.
Pre Requirements
Before start building a solution, make sure you have:
- The proper monitoring pack licenses; for SOA Suite that will be:
- The WebLogic Diagnostics & Monitoring Pack
- The SOA Suite Diagnostics & Montitoring Pack
- Agents installed on every physical (or virtual ) host where WebLogic / SOA is running
Building Steps
Deploying Agents to Targets
If not already done so, agents need to be deployed to the hostst were middleware is running. I will not discuss this any further because this is more Enterprise Manager generic.
Discover Middleware Targets
Discovering Middleware Targets is just as it is as with other Targets.
You must fill in some specific WebLogic details, after that, all targets will be added.
Enable Monitoring Pack Access
When your company buys WebLogic and SOA Suite licenses, usually it also buys this so called management pack licenses. Get behind what your company has bought and if you don’t know ask Oracle or someone within your organization who has a an overview of the bought licenses.
With this knowledge, you will have to enable the management packs for WebLogic and SOA in the Enterprise Manager. You can find them in Setup –>Management Packs –> Management Pack Access:
Creation Monitoring Templates
The next step is to create your own monitoring templates. An initial setup could be:
- A WebLogic template for Dev, Test and Acceptance
- A SOA infrastructure template for Dev Test and Acceptance
- An OSB Infrastucture template for Dev Test and Acceptance
- Same set as above for Production
Creation of these monitoring template is as follow:
- Go to Enterprise–>Monitoring–>Monitoring Templates.
- Check “Display Oracle Certified Templates” and search on Target Type “Oracle WebLogic Server”
- Click in the action menu, 1st column, on the WebLogic Server template and choose “Create Like”
- Name the template according to your wishes.
- Click on Metric Thresholds enable all Collections Schedules. Disable those you don’t want to use. In a later stage you might consider to use them or remove them from you custom template.
- Repeat these steps for OSB and SOA Suite
- When you’re done, apply the templates to the corresponing targets ( WLS, OSB, SOA)
Determine Baseline Metrics
A thougher job to do is to determine a baseline for the metric thresholds. A good way to do this is based on historical trending and data you can gather, plus an estimate of what you might expect during peak hours. These data you can use to set you thresholds for:
- WebLogic Baseline Metrics
- OSB Baseline Metrics
- SOA Suite Baseline Metrics
Example of OSB Metrics
Determine on base of collected metrics what your first baseline should be. Right Click on a specific target (WebLogic Managed Server, SOA Infra Structure, OSB Infrastructure), Monitoring–> All Metrics. A list of all metrics will appear. Use the collected data as a starting point in your monitoring template.
Target Lifecycle status
Lifecycle status is a status to tell EM wether the target is:
- Development
- Test
- Staging
- Production
- Mission Critical
Based on this status you can define your alerting rules
- Select Targets –> Middleware
- Rightclick on a Target–>Target Setup–> Properties
- Click Edit
- Set lifecyclestatus such as ‘Production’ or ‘Mission Critical’
Setup Mail and Notification Schedule
Now for being notified and perhaps raise a ticket if an alert is in the category of FATAL, mail needs to be set up. This is generic EM 12c stuff so I won’t entirely discuss this inhere
For adding mail adresses, go to Enterprise Manager Password & Email and add the adresses. For generic sending options, go to Setup –>
Create Incident & Mail Rules
Got to Setup –> Incidents –> Incident Rules. There are default rulesets available:
- An Incident Ruleset
- A Notification Ruleset
Copy them by clicking on the field and select in the Action Menu “Create Like RuleSet” Give them a useful name. Leave the Incident RuleSet for now ( it is in most ways sufficient). You can edit the notification ruleset to build in rules of what notifications you would like to get:
- Select the Notification RuleSet and click on Edit
- Select the Rules in the RuleSet and edit them
- You can set your rule to notify on a condition of Target Type, LifeCyle status or many other options
Synthetic testing
Enterprise Manager 12c has the ability to test frontend HTTP. There is one test which can be implemented as a service test. You can build a HelloWorld Composite and base your service test on that, or you can use the oit of the box isSoaServerReady, which is up as soon as the SOA engine are ready to accept in and outbound transactions.
- Go to Targets –> Services and create a Generic Service, test based
- Create a servicetest isSoaServiceReady based on the SOA Loadbalancer urlhttp://<LoadBalancer URL>/soa-infra/services/isSoaServerReady
- Select the beacon and test the service
- When you click on Perform Test you will get response times of the HTTP Ping. So you now know how the frontend is doing.
- You could also create same tests but then with managed server adresses.
A next step could be to create Composite Applications and Dashboards, but that will be discussed in a future blog.
Conclusion
It does take some effort to build a solid monitoring, either if you use Enterprise manager or another tool from another vendor, or custom build by your self. My conclusion is that Enterpise Manager is very suitable for this but in my day to day experience unknown, undiscovered and unused. A missed opportunity!