Pages

Sunday, May 1, 2011

OSB Endpoint monitoring and SLA alert rules

The Oracle Service Bus got some nice features to monitor its endpoints, see if they are still online and you can enable these Proxy and Business Service endpoints in the Operations view of the SBConsole. In OSB you can also make a SLA alert rule to reports these endpoint changes to the SBConsole, send a mail , SNMP trap or publish on a JMS queue.

These options are not enabled by default, you need to do the steps, I describe in this blogpost..

When you create or deployed some new Proxy and Business Services you won't see these endpoints in the  Service Health Tab of the Operations View.
When you open the Operation Settings of the Business or Proxy Service you will see that monitoring is not activated by default.
Create a new Session and change the monitoring setting.
When you go back to the Service Health Tab of the Operations view you will now see that the Endpoint of this Business Service is still Online.
Click on the Online link and you will see that the Action link is not enabled.
If you work with the OEPE workshop you can also enable monitoring by opening the Business or Proxy Service in a text editor and change this setting manually.

When you disable the endpoint and take a look at the Service Health, you will now see that the endpoint is Offline
Click on the Offline link
When you know the endpoint is active again you can press the Action link and the OSB will check it for you and enable it again.
Next step is to make a SLA alert rule so can monitor and report the endpoints changes.
Open the SLA Alert Rules Tab of the Proxy and Business Service.
Create a new Rule and assign an alert Destination
Select Status for the endpoints monitoring. Make a rule for online and offline Endpoints.
You will now see these alerts in the SLA Alerts Tab of the Operations window of the SBConsole.

41 comments:

  1. Thanks for this post on monitoring feature of OSB.But what does it meant by online/offline. Is offline means that service is unreachable and gives timeout when we invoke this service.

    ReplyDelete
  2. Thank you for the great article . Is there a way to configure OSB resource SMTP server to send SMTP messages over secure transport , i.e. SMTPS ? SMTPS is used by Google etc.

    ReplyDelete
  3. Hi,

    I don't know but maybe you can do it in java
    publish messages to a queue and then read the queue and do a java callout.

    thanks

    ReplyDelete
  4. I was searching on google and directed to this blog. I found it very informative. There are some very useful examples. Great work, Keep it up.

    ReplyDelete
  5. Is there any way to get the list of instance id's of OSB processes like we have BPEL proceses instance id's listed on em.

    ReplyDelete
  6. Hi,

    OSB does not have instances like soa suite 11g and you can't open and follow the steps of the message flow.

    But you can log the actions. For this you can use reporting. Where you can log request etc.

    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/operations/reporting.html

    thanks

    ReplyDelete
  7. Is there a way to automatize monitoring configuration (active check 'offline endpoints uris', alert creation...)? I have hundreds of business to monitor. I can´t find the check offline endpoints uri when I open the business as a text file.

    I am not able to do it with java api o wlst

    thanks

    ReplyDelete
    Replies
    1. Hi,

      Did you see this blog
      http://orasoa.blogspot.com/2011/01/osb-deploy-service-level-agreement-sla.html

      thanks

      Delete
    2. Yes, I have seen this blog, the problem is with the check 'offline endpoints uri' which I need to enable it to create an alert when status is offline. And I haven´t found the way to enable without the osb console

      Thanks for your quick response

      Delete
    3. Hi,

      Alert rules and SLA dashboard are console features. Maybe you can detect where these changes are stored on the OSB server or try to make an export with these changes.

      and put them manually in source mode.

      Delete
  8. Hi Endwing really your post is always very helpful, thank you very much.

    I'm starting to work with OSB and I have a great doubt.

    How can I move all de configurations (business and proxy services, rules...) from a OSB server to another one, for example: from the development environment to the production environment??

    Can you help me with this? Giving me some idea?? Please
    Thanks in advance

    ReplyDelete
    Replies
    1. Hi,

      Don't worry, you can export everything from the OSB sbconsole , generate some plans, change the endpoint in the plans and import it in your new environment.

      thanks

      Delete
    2. Hi Edwing
      thanks so much for your quick reply.
      I was reading the Oracle Service Bus 11g Development Cookbook and
      I can't find how to export the configuration from de OSB console to import after in some other place.
      Can you please tell me where I can read some documentation about that?
      Thanks again

      Delete
  9. Hi Edwing
    thanks so much for your quick reply.
    I was reading the Oracle Service Bus 11g Development Cookbook and
    I can't find how to export the configuration from de OSB console to import after in some other place.
    Can you please tell me where I can read some documentation about that?
    Thanks again

    ReplyDelete
    Replies
    1. Hi,

      Here we go
      http://docs.oracle.com/cd/E23943_01/doc.1111/e15022/bestprac.htm#sthref43

      hope this helps

      Delete
  10. Hello Edwin,

    I have a requirement where in my OSB process will start by receiving a SMS then i have some logic based on input parameter and finally my process will end by sending a SMS.I couldn't get any sample or idea on the same.Could you please give us some idea or sample on how to do it.

    Regards
    Arpit

    ReplyDelete
    Replies
    1. Hi,

      you can make your own OSB transport, if you can do it in java then it is possible. SOA Suite has UMS this can send SMS but don't know if it can receive. for SMS you need a provider. so take a look at UMS

      thanks

      Delete
  11. Hi Edwin,

    Your post is very helpful thank you very much.

    I have a doubt, (from this tutorial) when i disable the endpoint of the Business Service am not able to see the status as offline in the monitoring dashboard right away, its taking lot of time to get update the status.
    How much time the Monitoring services take to update the service lists?
    if we can change that time how to do that?



    Regards,
    Beckyard

    ReplyDelete
    Replies
    1. Hi,

      I think it is controlled by the monitoring interval, in the pic of the business service I see the value of 10.
      Can you change that value and see if it works.

      thanks

      Delete
    2. Hi Edwin,


      Your all the post is very helpful, thanks a lot !!!


      Message Processing Order in OSB !!!


      1. The current order of message processing in OSB Production instance and why is it so?


      2. The current algorithm/mechanism involved in OSB.


      3. Is there any possibility to change the existing Algorithm and prioritize bases on our need ?


      4. At a time within integration only one processing is happening on priority , can it be multiple ?

      Delete
  12. Hi Biemong, thanks for posting such a great article. its really helpful.

    I have a small doubt here. for some reason I dont see my "Action link is not enabled" , which means I am not able to enable/diable my BS.
    Could you please advice me how I can enable this button

    ReplyDelete
    Replies
    1. Hi,

      Did you enable monitoring on the Business service.

      thanks

      Delete
  13. Hi,

    I would like to know whether it is possible to use Oracle BAM to collect all data used by the OSB monitoring infra-strucutre?


    Regards!!

    ReplyDelete
    Replies
    1. Hi,

      you can in an Alert or SLA publish jms messages to a queue and them read them by Oracle BAM. Just like BPEL. maybe you first need to do some a xml transformation.

      thanks

      Delete
  14. Hi Edwin,
    Thanks a lot for this article and all your blogs are always very helpful.
    I need a help. Is there a way we can enable the monitoring and SLA alerts for a service using a scripting tool like wlst? Because when we change our code in Eclipse and redeploy all these settings we do from console vanishes.. So need to redo the whole thing. Could you give me guidance on how we can do that? Do you have any doc or references that could be helpful for this?

    ReplyDelete
    Replies
    1. Hi,

      I don't know if you can do this with OSB/WLST scripting ( don't think so) but you can add them in the source mode of the proxy plus or you can set preserve settings on the export/import.

      There are plans to fully support this with scripting, don't know when and in what version, probably in 12c.

      thanks

      Delete
  15. Hi Edwin,

    Thanks for your posts. Have a question related to Alerts.. Is there a way we can change the content-type of the mail that gets send when we configure an alert? For eg: I have an alert action in the error handler and I am configuring it trigger the alert when an error occurs, with the fault details. Is there a way I can include html tags which would customize the mail that comes when an alert is triggered?

    ReplyDelete
    Replies
    1. Hi,

      alert action is very basic. I think you need to make your own alert process by publishing the error to a queue and do a dequeue which sends the mail. This way you got full control on the output of the mail.

      thanks

      Delete
    2. Thanks for the response Edwin. Will try that

      Delete
    3. Hi Edwin,
      Just wanted to update that we created an Email business service. Just created a proxy to call this business service with the html customization of the mail as we wanted and got it worked

      Delete
  16. Hi,

    when I try to configure an email Biz Service through OEPE I see the option to select the SMTP server details in the email transport tab is not enable for me. Not sure why, however I can test and run the email service through OSB console but not through OEPE. Please let me know if there is anything that is missing in my configuration.

    Appreciate your quick response

    Thanks,
    Moosvi

    ReplyDelete
    Replies
    1. Hi,

      You should configure the SMTP server on the OSB configuration project level and not inside a OSB project ( this is not possible )

      Thanks

      Delete
  17. Hi Edwin,
    I added log action in my osb proxy project, but it is not writing in the Managed server console
    I enabled alsbdebug.xml file
    true

    Can you please help me..

    Thanks

    ReplyDelete
    Replies
    1. Hi,
      Do you mean reporting or a alert. else log will be added to the osb_server1.log
      And I think you can only enable monitoring in the sbconsole or in the source mode of your proxy.

      thanks

      Delete
  18. This comment has been removed by the author.

    ReplyDelete
  19. Hi Edwin Biemond,
    Thanks a lot for this article and your blog is always very helpful.

    Hey I got a question?
    I enabled SLA Alerts for a OSB Service,which contains 15 operations.
    I'm able to get SLA alerts when max response time is more than 5secs
    But I'm unable to identify from which "operation" actually this Alert message was raised?
    How to get Dynamically -operation Name in Alert Summary/Rule Description ?

    Thanks!

    ReplyDelete
  20. Hi Edwin,
    Is there any way to get dynamic Host Name in SLA Alerts Summary?

    ReplyDelete
    Replies
    1. This is because we are getting max response time Alert Emails.
      But the problem is we are unable to find from which environment actually these Alerts come from.

      Delete
  21. Hi Edwin,

    First of all I would like to give thank you for such nice post. Your all post was very useful and helpful too.

    I have one question

    Can we take any OSB preventive action for any OSB support from application side?

    Can we disable proxy service/business service programitically from error handler or any other way without manual intervention?

    Thanks in advance!

    Regards,
    Debarshi

    ReplyDelete