System Center 2012 Operations Manager Monitoring Packs for Java EE Release Notes and Quick Start Guide Microsoft Corporation Published: Jan, 2012 This document is provided "as-is". Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. Copyright 2011 Microsoft Corporation. All rights reserved. IBM, Oracle, Red Hat, Apache, Java, Java EE, JDK, Java Virtual Machine, WebSphere, WebLogic, JBoss, and Tomcat are trademarks of their respective owners. ------------------------------------------------------------------------------------------ Release Notes System Center 2012 Operations Manager Monitoring Packs for Java EE support the following configurations: Java EE Application Server Operating System ----------------------------------- ----------------- IBM WebSphere 8.x, 7.0 and 6.1 All Windows Server, Linux, and AIX systems supported by Operations Manager Red Hat JBoss 6, 5.1 and 4.2 All Windows Server and Linux systems supported by Operations Manager Apache Tomcat 7.0, 6.0 and 5.5 All Windows Server and Linux systems supported by Operations Manager Oracle WebLogic 12cRel1, 11gRel1 and 10gRel3 All Windows Server, Linux, and Solaris systems supported by Operations Manager The following notes describe known issues that you might experience. 1. Some JEE Monitoring packs must be cleanly imported instead of upgraded from Pre-release versions. If you have JEE monitoring packs for System Center 2012 Operations Manager RC installed, you can upgrade the Microsoft.JEE.Library.mpb and Microsoft.JEE.Templates.Library.mpb (so that the templates you created in RC will continue to work). However, other JEE monitoring packs in RC, or JEE monitoring packs in Beta or CTPs must be removed, and the RTM version must be cleanly imported. Additionally, if you have a pre-release version of System Center Cross Platform (SCX) agent, you must upgrade the SCX agent to RTM in order for JEE monitoring to work. 2. After importing JEE Monitoring packs, Operations Manager agent appears to be slow. You should only import the library monitoring packs and the leaf monitoring packs for the specific types and versions of the JEE application servers running in your environment. For example, if you are only using Tomcat 6, then only import the JEE library monitoring pack, Tomcat library monitoring pack, Tomcat 6 monitoring pack, and JEE template library monitoring pack. 3. JEE application server instances on Windows are not automatically discovered without enabling agent as a proxy. You will need to enable Operations Manager agent as a proxy in order for JEE application servers to be discovered on Windows computers. To enable an agent as a proxy: a. Open the Administration workspace in the Operations Console. b. In the (left-side) navigation pane under Agent Managed under Device Management, select the computer that has the JEE application servers running, and click Properties. c. In the Security tab of the dialog box, check "Allow this agent to act as a proxy and discover managed objects on other computers" 4. Tomcat instances running as Windows services are not automatically discovered. You will need to do either one of the following in order for Tomcat instances running as Windows service to be discovered: a. Run Tomcat as a process instead of a Windows service. This can be done by running the startup.bat in the bin folder under the Tomcat installation root folder. Or, b. Refer to the "Manually Discover Application Servers" section in this document to manually discover Tomcat instances. 5. Manually discovered application servers only appear in the deep monitored views. This is by design. Manually discovered application servers are monitored only through HTTP/HTTPs communication between the management server and the BeanSpy JMX agent running in the JEE application server. The Operations Manager agent is not used in discovering the application servers. So there is no basic application server instance discovered by Operations Manager. 6. Failed to query MBeans in JEE templates even after BeanSpy has been successfully deployed. Even if you are not using HTTPs with authentication, you need to create a dummy Run As account to be associated with "JEE Monitoring Account" and "JEE Invoke Account" profiles in order to query MBeans and invoke MBean methods in the JEE templates. 7. JEE discovery does not work for UNIX/Linux machines managed by "AD Assignment Resource Pool" and "Notifications Resource Pool". These two pools are created by default by Operations Manager. They cannot be used to manage JEE application servers. 8. Manual application server discovery doesn't work on gateway servers. If BeanSpy running your application servers can only be accessed from Operations Manager gateway servers, but not management servers through HTTP/HTTPs, then manual discovery will not work. Note however, automatic discovery should work out-of-the-box in gateway environment. 9. Application server monitoring limitations. JBoss a. A JBoss instance will not be discovered until it runs for the first time after JEE monitoring packs are imported. b. The availability of JBoss applications is not monitored by default. A JBoss application that is not started will simply not be discovered. Tomcat a. A Tomcat instance will not be discovered until it runs for the first time after JEE monitoring packs are imported. WebLogic a. The WebLogic Samples domain is not discovered. b. The availability of WebLogic admin server process is not monitored by default. c. The availability of WebLogic managed server process is not monitored by default, but you can enable the monitoring if the WebLogic managed server was started with WebLogic node manager. d. The availability of temporary applications created for WebLogic admin console is not monitored. WebSphere a. WebSphere 6.1.0.9 and above is required for custom MBean queries. All a. If installation path is longer than 260 characters, the JEE application server may fail to be discovered automatically. Please refer to the "Manually Discover Application Servers" section in this document to manually discover these application servers. 10. Invoking MBean methods with HTTPs fails after Windows security patch MS12-006(KB #2643584) is applied. This security patch changes the way that records are sent to HTTPS servers. You can either disable the patch, or enable TLS 1.1 on both HTTPS client and server sides. Please refer to this article (http://support.microsoft.com/kb/2643584) for details. 11. Reusing application server port results in incorrect application server health state. If you have multiple application servers running on the same computer, such as JBoss and Tomcat, you may encounter an unhealthy state for an application server if it is moved to another port and also its original port gets used by another application server or process. The application server that was moved is discovered by Operations Manager but its health state is unhealthy. For example, consider the following scenario: a. JBoss was installed on its default port 8080, was discovered and is healthy. b. You want to start Tomcat on 8080, so you stop JBoss. Now Tomcat runs on 8080, gets discovered and is healthy. c. You start JBoss on a different port, such as 8180. It gets discovered but is unhealthy. This is because Operations Manager does not discover the new port 8180 used by the JBoss instance immediately, and will continue to query 8080, which is now Tomcat, until its next discovery. But the query it issues are in JBoss format, not Tomcat. So the response will be error. To work around this issue, do the following: a. Select the application server whose port is moved in the Operations Manager basic application server state view. b. Re-run the "Enable deep monitoring using HTTP" or "Enable deep monitoring using HTTPS" task. 12. Discovery takes a long time. By default, the intervals of all discoveries in JEE are set to four hours. This includes: a. Initial application server discovery b. Garbage collector discovery c. Application discovery Because some discoveries happen in multiple stages, it can take multiplies of four hours for everything to be discovered. ------------------------------------------------------------------------------------------ Quick Start Guide to System Center 2012 Operations Manager Monitoring Packs for Java EE This guide provides instructions for performing the most common tasks in the System Center 2012 Operations Manager Monitoring Packs for Java EE. Please refer to the Monitoring Pack Guide for your application server for more complex configurations. 1. Import JEE Monitoring packs a. On the management server that has System Center 2012 Operations Manager installed, install the msi for JEE monitoring packs. Verify the following monitoring packs are in the installation folder: Libraries monitoring packs: Microsoft.JEE.Library.mpb Microsoft.JEE.Templates.Library.mpb JBoss monitoring packs: Microsoft.JEE.JBoss.Library.mp Microsoft.JEE.JBoss.4.mp Microsoft.JEE.JBoss.5.mp Microsoft.JEE.JBoss.6.mp Tomcat monitoring packs: Microsoft.JEE.Tomcat.Library.mp Microsoft.JEE.Tomcat.5.mp Microsoft.JEE.Tomcat.6.mp Microsoft.JEE.Tomcat.7.mp WebSphere monitoring packs: Microsoft.JEE.WebSphere.Library.mp Microsoft.JEE.WebSphere.6.1.mp Microsoft.JEE.WebSphere.7.0.mp Microsoft.JEE.WebSphere.8.mp WebLogic monitoring packs: Microsoft.JEE.WebLogic.Library.mp Microsoft.JEE.WebLogic.10gR3.mp Microsoft.JEE.WebLogic.11gR1.mp Microsoft.JEE.WebLogic.12cR1.mp b. From the System Center 2012 Operations Manager Operations Console, import Microsoft.JEE.Library.mpb and Microsoft.JEE.Templates.Library.mpb. c. Import *only* the monitoring packs for the JEE application servers running in your environment. 2. Deploy BeanSpy BeanSpy is a servlet running in application servers to retrieve monitoring information. It is an open source technology provided by Microsoft. You can get BeanSpy using one of the following methods - a. If you have at least one JEE application server automatically discovered by Operations Manager, go to Operations Console, select an automatically discovered JEE application server instance, and run the task "Copy BeanSpy and Universal discovery files" in the Tasks pane. This will copy the BeanSpy files to the %WINDIR%\temp folder. b. Search the Operations Manager installation folder for BeanSpy*. For example, if Operations Manager is installed under "C:\Program Files\System Center 2012\Operations Manager", BeanSpy files are located in one of the folders under C:\Program Files\System Center 2012\Operations Manager\Server\Health Service State\Resources\ as of this writing. There should be four BeanSpy files: BeanSpy.HTTP.NoAuth.ear BeanSpy.HTTP.NoAuth.war BeanSpy.ear BeanSpy.war If your application server listens on HTTP without authentication, then follow these steps. Otherwise, please refer to your application server's monitoring pack guide for details about security settings. c. Rename BeanSpy.HTTP.NoAuth.war (or .ear) to BeanSpy.war (or .ear). d. If you are running JBoss/WebSphere/WebLogic, deploy the .ear version. If you are running Tomcat, deploy the .war version. You can deploy BeanSpy just like any other ear/war files. 3. Manually Discover Application Servers [optional] The System Center 2012 Operations Manager monitoring packs includes PowerShell scripts for manually discovering JEE application servers where such application servers cannot be automatically discovered. For example, if you are running Tomcat as a Windows Service, or if you have JEE application servers running on machines not managed by Operations Manager. The following steps describe how to manually discover a JEE application server. a. Deploy BeanSpy to your JEE application server as described above. b. If your application server requires authentication, create a Run As account to be associated with "JEE Monitoring Account" Run As profile for monitoring. Create another Run As account to be associated with "JEE Invoke Account" Run As profile for invoking methods on MBeans. c. Obtain PowerShell scripts using one of the following methods: 1) If you have at least one JEE application server automatically discovered by Operations Manager, go to Operations Console, select an automatically discovered JEE application server instance, and run the task "Copy BeanSpy and Universal discovery files" in the Tasks pane. This will copy the BeanSpy files to the %WINDIR%\temp folder. 2) Search the Operations Manager installation folder for BeanSpy*. For example, if Operations Manager is installed under "C:\Program Files\System Center 2012\Operations Manager", BeanSpy files are located in one of the folders under C:\Program Files\System Center 2012\Operations Manager\Server\Health Service State\Resources\ as of this writing. There should be three PowerShell script files: JEEAppServerLibrary.ps1 NewJEEAppServer.ps1 RemoveJEEAppServer.ps1 d. Run PowerShell scripts to add or remove application servers. 1) You can add or remove application servers one by one. However, if you have multiple application servers, you can create a configuration file. Each line of this file should contain a URL where your JEE application server is listening on for http or https requests. For example: https://linux.contoso.com:8080 http://myredhat:8180 http://10.0.0.1 2) To add JEE application servers for monitoring, run NewJEEAppServer.ps1. Run this script with -help for details of command line options. You can pipe the configuration file you created to this script, or specify a single URL on the command line. 3) To remove JEE application servers currently being monitored, run RemoveJEEAppServer.ps1. Run this script with -help for details of command line options. You can pipe the configuration file you created to this script, or specify a single URL on the command line. The discovered application servers will first appear under "Universal application servers" folder in the "Configured application servers" view. Verify that the application server type and version are populated correctly. After multi-stage discovery (ranging from a few minutes to four hours by default), the discovered application server should appear under the application server folder specific to its type, in the deep monitored application server view, with detailed application server information populated.