- Evolution of IT systems: As architectural patterns moved from monolithic systems to distributed systems, not all IT systems were moved to the newest patterns. Some new systems were built with new technologies and patterns whereas existing systems that were performing well enough continued on earlier technologies.
- Best of breed approach: With multi-tiered architectures, enterprises had the choice of building each tier using best of breed technology for that tier. For example, one system could be built using a J2EE container from vendor A, but a database from vendor B.
- Avoiding single vendors and technologies: Enterprises wanted to avoid dependence on any single vendor and technology. This led to systems being built using different technologies. For example, an order-booking system built using .NET technologies on Windows servers, but an order shipment system built using J2EE platform on Linux servers.
- Acquisitions and Mergers: Through acquisitions and mergers, enterprises have inherited IT systems that were built using different technologies. Frequently, new systems were added to integrate the systems of two enterprises but the new systems were totally different from the existing systems. For example, using BPEL process manager to integrate a CRM system with a transportation management system.
We see that each factor for diversity in the data center has some business or strategic value. At the same time, such diversity makes management of the data center more complex. To manage such data centers we need a special product like Oracle's Enterprise Manager Grid Control that can provide a unified and centralized management solution for the wide array of products.
In any given data center, there are lots of repetitive operations that need to be executed on multiple servers (like applying security patches on all Oracle Databases). As data centers move away from high-end servers to a grid of inexpensive servers, the number of IT resources increases in the data center and so does the cost of executing repetitive operations on the grid. Enterprise Manager Grid Control provides solutions to reduce the cost of any grid by automating repetitive operations that can be simultaneously executed on multiple servers. Enterprise Manager Grid Control works as a force multiplier by providing support for executing the same operations on multiple servers at the cost of one operation.
As organizations put more emphasis on business and IT alignment, that requires a view of IT resources overlaid with business processes and applications is required. Enterprise Manager Grid Control provides such a view and improves the visibility of IT and business processes in a given data center. By using Enterprise Manager Grid Control, administrators can see IT issues in the context of business processes and they can understand how business processes are affected by IT performance.
In this article, we will get to know more about Oracle's Enterprise Manager Grid Control by covering the following aspects:
Key features of Enterprise Manager Grid Control:
- Comprehensive view of data center
- Unmanned monitoring
- Historical data analysis
- Configuration management
- Managing multiple entities as one
- Service level management
- Automating provisioning
- Information publishing
- Synthetic transaction
- Manage from anywhere
- Enterprise Manager Product family
Range of products managed by Enterprise Manager:
- Range of products
- EM extensibility
Enterprise Manager Grid Control architecture.
- Multi-tier architecture
- Major components
- High availability
- Summary of learning
Key features of Enterprise Manager Grid Control
Typical applications in today's world are built with multi-tiered architecture; to manage such applications a system administrator has to navigate through multiple management tools and consoles that come along with each product. Some of the tools have a browser interface, some have a thick client interface, or even a command line interface. Navigating through multiple management tools often involves doing some actions from a browser or running some scripts or launching a thick client from the command line.
For example, to find bottlenecks in a J2EE application in the production environment, an administrator has to navigate through the management console for the HTTP server, the management console for the J2EE container, and the management console for the database.
Enterprise Manager Grid Control is a systems management product for the monitoring and management of all of the products in the data center. For the scenario explained above, Enterprise Manager provides a common management interface to manage an HTTP server, J2EE server and database. Enterprise Manager provides this unified solution for all products in a data center.
In addition to basic monitoring, Enterprise Manager provides a unified interface for many other administration tasks like patching, configuration compliance, backup-recovery, and so on.
Some key features of Enterprise Manager are explained here.
Comprehensive view of the data center
Enterprise Manager provides a comprehensive view of the data center, where an administrator can see all of the applications, servers, databases, network devices, storage devices, and so on, along with performance and configuration data. As the number of all such resources is very high, this Enterprise Manager highlights the resources that need immediate attention or that may need attention in near future. For example, a critical security patch is available that needs to be applied on some Fusion Middleware servers, or a server that has 90% CPU utilization.
The following figure shows one such view of a data center, where users can see all entities that are monitored, that are up, that are down, that have performance alerts, that have configuration violations and so on. The user can drill down to fine-grained views from this top-level view.
The data in the top-level view and the fine-grained drill-down view can be broadly summarized in the following categories:
Data that shows how an IT resource is performing, that includes the current status, overall availability over a period of time, and other performance indicators that are specific to the resource like the average response time for a J2EE server. Any violation of acceptable performance thresholds is highlighted in this view.
Configuration data is the configuration parameters or, configuration files captured from an IT resource. Besides the current configuration, changes in configuration are also tracked and available from Enterprise Manager. Any violation of configuration conformance is also available. For example, if a data center policy mandates that only port 80 should be open on all servers, Enterprise Manager captures any violation of that policy.
Status of scheduled operations
In any data center there are some scheduled operations, these operations could be something like a system administration task such as taking a backup of a database server or some batch process that moves data across systems, for example, moving orders from fulfillment to shipping. Enterprise Manager provides a consolidated view of the status of all such scheduled operations.
Enterprise Manager provides a listing of all hardware and software resources with details like version numbers. All of these resources are also categorized in different buckets – for example, Oracle Application Server, WebLogic application Server, WebSphere application are all categorized in the middleware bucket. This categorization helps the user to find resources of the same or similar type. Enterprise Manager. It also captures the finer details of software resources—like patches applied.
The following figure shows one such view where the user can see all middleware entities like Oracle WebLogic Server, IBM WebSphere Server, Oracle Application Server, and so on.
Enterprise Manager monitors IT resources around the clock and it gathers all performance indicators at every fixed interval. Whenever a performance indicator goes beyond the defined acceptable limit, Enterprise Manager records that occurrence. For example, if the acceptable limit of CPU utilization for a server is 70%, then whenever CPU utilization of the server goes above 70% then that occurrence is recorded. Enterprise Manager can also send notification of any such occurrence through common notification mechanisms like email, pager, SNMP trap, and so on.
Historical data analysis
All of the performance indicators captured by Enterprise Manager are saved in the repository. Enterprise Manager provides some useful views of the data using the system administrator that can analyze data over a period of time. Besides the fine-grained data that is collected at every fixed interval, it also provides coarse views by rolling up the data every hour and every 24 hours.
Enterprise Manager gathers configuration data for IT resources at regular intervals and checks for any configuration compliance violation. Any such violation is captured and can be sent out as a notification. Enterprise Manager comes with many out-of-the-box configuration compliance rules that represent best practices; in addition to that, system administrators can configure their own rules.
All of the configuration data is also saved in the Enterprise Manager repository. Using data, the system administrator can compare the configuration of two similar IT resources or compare the configuration of the same IT resource at two different points in time. The system administrator can also see the configuration change history.
Managing multiple entities as one
Most of the more recent applications are built with multi-tiered architecture and each tier may run on different IT resources. For example, an order booking application can have all of its presentation and business logic running on a J2EE server, all business data persisted in a database, all authentication and authorization performed through an LDAP server, and all of the traffic to the application routed through an HTTP server.
To monitor such applications, all of the underlying resources need to be monitored. Enterprise Manager provides support for grouping such related IT resources. Using this support, the system administrator can monitor all related resources as one entity and all performance indicators for all related entities can be monitored from one interface.
Service level management
Enterprise Manager provides necessary constructs and interfaces for managing service level agreements that are based on the performance of IT resources. Using these constructs, the user can define indicators to measure service levels and expected service levels. For example, a service representing a web application can have the same average JSP response time as a service indicator, the expected service level for this service is to have the service indicator below three seconds for 90% of the time during business hours.
Enterprise Manager keeps track of all such indicators and violations in the context of a service and at any time the user can see the status of such service level agreements over a defined time period.
Many data center operations are repeated at fixed interval and on multiple IT resources. For example, database backup is performed every day at midnight for all of the database servers in a data center. Typically, system administrators write some scripts and use some scheduling mechanism like crontabs to perform these operations. Monitoring of such operations across multiple servers is expensive; the system administrator needs to check logs on each server and maintain scripts on each server and so on.
Enterprise Manager also provides a scheduling mechanism and, using that mechanism, the user can execute an operation on multiple resources as per the defined schedule. The outcome of all such operations, across multiple resources, is saved in the Enterprise Manager repository and the system administrator can see all of the results from one central console. Besides that, events like the success or failure of an operation can be sent out as notifications via standard notification mechanisms like email, SNMP trap, and so on.
Initial provisioning of new IT resources is an expensive operation; the system administrator needs to install the Operating System, all required software like the database, J2EE server, all required patches, and the business applications. After this, the system administrator needs to configure the software and applications. Enterprise Manager provides support for building gold images from existing IT resources, and provisioning new IT resources from the gold image. Using the gold image, the system administrator can easily provision a new IT resource by cloning it from an existing IT resource.
Enterprise Manager also provides a software library where the gold images of Operating Systems, software, and so on, can be stored for future use.
System administrators do need to publish data related to their data center; like resource utilization data, configuration compliance data, inventory of resources, and so on. Also, a lot of the data publishing activity has to be repeated at every fixed interval, for example, resource utilization data needs to be published at the end of every month.
Enterprise Manager has a reporting and publishing framework to build and publish reports in HTML format that summarize the data available in the Enterprise Manager repository. Report generation can be scheduled and the generated reports are also saved in the repository. These reports can be automatically sent out by emails as per the schedule defined by the system administrators.
There are many useful out-of-the-box reports that the system administrator can use to publish performance data, configuration compliance data, and so on. System administrators can also customize or build new reports through the intuitive user interface.
There are times when all of the performance indicators are within acceptable ranges, but users still complain for about application performance. To troubleshoot such issues, system administrators often log in to the application to try to simulate what the real users do. Sometimes such problems are related to some specific geographic regions only, for example, customers in Europe cannot check out the shopping cart but customers in other countries are fine.
Recording typical user actions and repeating those instructions from different geographical regions can provide proactive monitoring for such issues. Enterprise Manager provides a framework for such support where typical user behavior can be recorded and repeated from various geographical locations. In the example above, Enterprise Manager can record the web transaction for checking out of the shopping cart and can repeat this synthetic transaction from various locations.
Web transactions can be used for checking availability for web applications. Enterprise Manager provides other mechanisms to check the availability of other resources like TNSPING to check the availability of a database.
Manage from anywhere
Enterprise Manager has a multi-tiered architecture; with the presentation layer on a J2EE server and content that is presented in HTML format. The Enterprise Manager console can be accessed through a browser that the system administrator can access remotely. Enterprise Manager is certified for all major browsers like Internet Explorer, Firefox, Netscape, Mozilla, and so on.
Enterprise Manager product family
The Oracle Enterprise Manager product family is a group of similar systems management products and it includes:
- Oracle Enterprise Manager Database Control: This flavor of Enterprise Manager gets installed with the installation of a database. This product can manage one database, associated listeners and the host where database is installed.
- Oracle Enterprise Manager Application Server Control: ?This flavor of Enterprise Manager gets installed with the installation of an Application Server. This product can manage one Application Server or an Application Server Cluster or an Application Server Farm and the host where it is installed.
- Oracle Enterprise Manager Grid Control:: This flavor of Enterprise Manager needs its own installation. This product can manage all of the resources in a data center.
Products managed by Enterprise Manager
Enterprise manager is a system management product from the Oracle Corporation that provides a set of features for the comprehensive management of Oracle products like Oracle Database, Oracle WebLogic Server, Oracle SOA suite, Oracle Applications, and so on. Enterprise Manager also provides management support for non-Oracle products including databases like SQL Server, middleware platforms such as JBoss Application Server, IBM WebSphere MQ, and storage management system such as NetApp.
As mentioned in the initial introduction, data centers contain many types of IT resources from different vendors, and different technology platforms. There may also be homegrown products or applications in data centers. Enterprise Manager provides management support for most of the common resources, but there could be some resources for which there is no support out-of-box. Enterprise Manager provides a framework to extend management support for such resources. Using this, users and third party vendors can build custom management support.
Enterprise Manager also provides connectors to integrate with help desk products like BMC Remedy or HP Service Center. By integrating EM with these products, alerts on the EM side can be converted to tickets on the help desk side and resolution of those tickets can clear alerts generated on the EM side.
The following illustration shows the range of products supported by Enterprise Manager Grid Control:
Enterprise Manager Architecture
The Enterprise Manager product is built using Java technology and an Oracle database. The Enterprise Manager product runs on top of Oracle Application Server and uses an Oracle Database as its persistence store. Enterprise Manager has three main components:
- Oracle Management Service (OMS)
- Oracle Management Agent (OMA)
- Oracle Management Repository (OMR)
For user interactions there is a centralized console that operates upon the Management Repository and uses services provided by the Management Server. This is a browser-based console.
In a typical setup, one management agent needs to be installed (on each host to be managed) that uploads data to the Management Server and that, in turn, persists the data in the repository. A system administrator can access this data or initiate or schedule an operation though the console. The next diagram shows a sample setup of the Enterprise Manager:
Before we get into the details of each component, one Enterprise Manager term, target, should be introduced. Target is very central for the EM system and everything moves around various target models.
Target is a generic term that refers to any managed entity that is managed by Enterprise Manager. For each target there is a model of the target stored in the Enterprise Manager repository. There are various target types available out-of-the-box like target types for a WebLogic server, or target types for BPEL Process Manager. The target model contains all the properties needed for managing the target. For example, a model for the WebLogic server contains JMX URL and credentials to connect to JMX server. The target model also defines what metrics should be collected for a target, the associated thresholds for those metrics and the collection frequency for those metrics.
At a broad level, targets are of two types—the agent target, and the repository only target. Agent targets are the target models that get created as the end result of the discovery process. The agent and the repository maintain the definition and model of such targets. Metrics for such targets are collected by the agent and uploaded to the repository. The repository only targets are targets that get created only in the repository—they may get created as part of the discovery process or they may be created manually. All of the metric calculations of such targets are done in the repository. For example, WebLogic Managed Server is modeled as an agent target and WebLogic Domain and WebLogic Cluster are modeled as repository only targets.
Oracle Management Service (OMS)
OMS is a central process for Enterprise Manager. It provides a set of common services that help in the monitoring and management of a target. Some of those services are job scheduling, notification, and so on. OMS collects data from all of the agents and, after processing, persists it into the repository. For other system management operations like backup recovery, OMS orchestrates the sequence of events that need to be triggered on the agent for a given target.
OMS also communicates with the agent over HTTP/HTTPS protocol and uses JDBC to persist data in the repository.
Oracle Management Agent (OMA)
The Oracle Management Agent process is a proxy process for Enterprise Manager that collects data from targets and sends it to the Management repository. Generally it is co-located on the same host where a target is running.
The agent keeps the target model synchronized with the actual target. It also collects monitoring and configuration information as per the target model, and uploads it into the Management repository via services exposed by the Management service. This collection of information is done as per the collection frequency defined by the target model. During collection, metrics are evaluated against the thresholds defined in the target model. In case metric values violate the thresholds, the agent generates an alert and sends it to the Management Server.
The agent executes all of the operations that are triggered from OMS, at the end of the operation the agent returns the status and output of such operations, for example, a "start WebLogic server command" triggered from OMS is delegated to the agent, after completion the agent sends the status and output of such commands back to OMS.
Besides monitoring, the agent executes all of the operations that are scheduled from OMS, and returns the status and output of such operations, for example, the agent executes a start-stop operation scheduled from OMS and returns the status and output of that operation.
Agents use a heartbeat mechanism to keep the Management Server informed about the health of agent. The agent communicates with the Management Server over HTTP/HTTPS protocol. In more secure setups, agents need one password to communicate with the management service.
Oracle Management Repository (OMR)
OMR is the persistence store for all EM data. All data related to target models, performance metrics and configuration metrics are persisted in the OMR. OMR also keeps historical data that can be used for analyzing the performance of the system over a period of time. Historical data related to configuration can be used to track configuration changes. OMR is built using an Oracle Database.
Some data from the Oracle Management Repository is exposed via public views and can be used for integration with external systems. The repository can be installed in a pre-existing database or a new database.
In this article, we will use the terms Oracle Management Repository and repository interchangeably.
Enterprise Manager Console
The Enterprise Manager Console is a browser-based interface where the user can view all the data from the management repository in useful formats like performance analysis charts, availability reports, and so on. Using the same console, administrators can schedule and monitor various operations like backup recovery, patching, and so on.
Enterprise Manager High Availability
As Enterprise Manager becomes a central point for managing and monitoring a complete IT infrastructure, the availability of Enterprise Manager itself is extremely critical. To support the high availability of OMS, Enterprise Manager supports a configuration where two or more OMSs are configured in active mode. To support high availability of the persistence store Management Repository can be setup to work with Oracle Real Application Cluster (RAC) database.
In this article, we learnt about diversity in a data center and the challenges posed by such diversity. We introduced Enterprise Manager Grid Control features and its architecture.
Here are the key takeaways from this article:
- In typical data centers we see different types of hardware, Operating Systems, databases, middleware servers, storage devices, network devices, and so on. Enterprise Manager is a systems management product used to manage such diverse IT entities
- Key monitoring features of Enterprise Manager include—centralized management interface, unmanned monitoring, historical data analysis, and so on
- Key management features of Enterprise Manager include—configuration management, service level management, scheduling, and so on
- Enterprise Manager provides a feature to publish aggregated performance, configuration and inventory data for a data center
- Enterprise Manager provides support for a wide range of IT products
- Enterprise Manager has an extensibility framework for homegrown applications and products not supported out-of-the-box
- Target is one major entity in Enterprise Manager Enterprise Manager has a multi-tiered distributed architecture
- The main components of Enterprise Manager are—Oracle Management Server (OMS), Oracle Management Repository (OMR), and Oracle Management Agent (OMA)
- Enterprise Manager Console provides a browser-based interface for all monitoring and management operations