Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

3.2 Release Notes

JBoss Operations Network 3.2

for release information

Ella Deon Ballard

Red Hat Engineering Content Services
December 17, 2013

Abstract

These release notes contain important information about new features, known issues, and other technical notes available at the time that JBoss Operations Network 3.2 was released.
These release notes contain feature information, changed support, and structural changes in JBoss Operations Network 3.2.
JBoss Operations Network provides centralized control, configuration, and visibility to JBoss applications and related infrastructure. Broad and detailed monitoring, versioned application deployment, auditable configuration management, and controlled software patching through JBoss ON reduce the complexity, improve the reliability, and decrease the cost of large scale JBoss deployments.
This version of JBoss Operations Network contains new features, enhancements, and bug fixes. It is recommended that all JBoss Operations Network users upgrade to JBoss Operations Network 3.2.

1. New Features in JBoss Operations Network 3.2

This version of JBoss ON introduces both new features and feature enhancements that improve JBoss ON's performance for managing resources.

1.1. Updated: New Installation Script and Simplified Installation Process

The overall server installation process has been streamlined in JBoss ON 3.2 as part of upgrading the underlying application server to JBoss Enterprise Application Platform 6.
The biggest single change is that there is no longer a web-based configuration process. All configuration is performed by the installation script, based on the values in the rhq-server.properties file. This makes it much easier to automate server provisioning.
There are other changes that simplify the installation process:
  • There is a new installation and upgrade script, rhqctl install and rhqctl upgrade.
  • By default, multiple components (the server, the agent on the server platform, and the metrics storage node) are installed with the installation script. These components can also be installed individually, using the appropriate options (--server, --storage, --agent).
  • The web installer has been removed and the entire process is configured through the command-line scripts and property files.
  • The rhq-server.properties file contains the default configuration for a local PostgreSQL server. If an Oracle server is used, then the properties file should be edited before running the installation script to point to the database.

1.2. Updated: New High-Speed Metric Data Storage

Starting in JBoss ON 3.2, all numeric monitoring data and aggregated values are stored in a dedicated NoSQL database, the JBoss ON metrics storage node. Every server is either installed (or upgraded with) a metrics storage node or must point to an existing storage node, in addition to the SQL database used to store all other JBoss ON resource data and configuration.

Note

The data stored in the metrics storage node is the numeric or metric data; this information is collected and updated frequently.
Other types of monitoring information — such as calltime metrics and traits — are still stored in the relational database.
There are a number of performance benefits by splitting the monitoring data into a separate storage node. This improves the performance of the backend SQL database by moving heavy write traffic to a separate database, and it also frees resources for intensive features like drift snapshots and stored bundles and content. Additionally, the NoSQL database cluster can be easily expanded to include additional nodes, even after server installation. This reduces the structural database bottleneck that has historically limited metric collection levels.
The metric data storage changes primarily affect the installation process:
  • A storage node must be installed with the server or referenced by the server properties. This is handled through the rhqctl setup script, by default.
  • Additional nodes can be added (or removed) on additional hardware, also using the rhqctl script.
  • Every metrics storage node requires a local agent, even if no server is installed.
  • The Administration > System Settings page has historically had rules about how long to store monitoring and event data. This configuration remains the same. The same data storage configuration is still configured on that page; it simply applies to the metrics storage node rather than the external SQL database.
There is an option with the rhqctl upgrade script to migrate all existing monitoring data out of the SQL database and into the new metrics storage database. If that option (--run-data-migrator) is not used with the upgrade, then the old monitoring data are lost.

1.3. Updated: New Control Script for Server Management

Previous versions of JBoss ON used the rhq-server.sh|bat script to install and start the server. This has been replaced by the new rhqctl script. This script has specific commands to install and upgrade the server, to install and upgrade associated components such as the agent and a metrics storage node, and to start and stop the server, agent, and storage node.
This new rhqctl control script still uses the rhq-server.properties configuration file for its initial configuration.

1.4. New: Fine-grained Permissions for Bundle Management

In previous versions of JBoss ON, there was a single (extremely powerful) permission for bundle operations: MANAGE_BUNDLES. This allowed complete access to everything related to the bundle configuration: resources, groups, bundle content and configuration.
In JBoss ON 3.2, the bundle permissions have been broken into multiple permissions, at three levels:
  • Global permissions to manage bundle groups, deploy bundles, view bundles, create bundles, and delete bundles.
  • Bundle group-level permissions to manage the bundle groups by assigning and unassigning existing bundles to the group and by creating and deleting new bundles for that group.
  • Resource group-level permissions to allow a user to deploy a bundle to a resource group over which he has management permissions.
This new permissions structure introduces the idea of a bundle group. A resource group is a defined group of resources and access controls can be set based on what resource group a user has permissions to. Likewise, a bundle group is a defined subset of existing bundles, and a user is granted access to a specified group. A user can only view and manage bundles which belong to that given bundle group.
These changes allow much better control over content streams and resource maintenance, while providing visibility (without power) to managers and analysts who require clarity about development and production content.

1.5. Enhanced: Creating Subgroups from Dynagroups

Dynagroups are dynamic groups that are created through a versatile expression language which filters members on criteria such as name, parent or child resources, resource type, and version.
Previously, a dynagroup expression evaluated the entire inventory when determining group membership. A new criterion has been added, memberof, which means that members of the dynagroup are evaluated from the members of an existing group. In other words, the dynagroup is a subgroup or subset of an existing group.
This is especially useful in creating fine-grained access controls and other management operations.

1.6. New: Dynagroup Methods in the Remote API

Previously, the classes and methods to create dynagroups were internal. Therefore, dynagroup expressions could only be created and edited through The JBoss ON GUI. The updated remote API (used by JBoss ON server-side scripts for alerts, the JBoss ON CLI, and other clients) now includes the full GroupDefinitionManager to create, edit, and delete dynamic groups.

1.7. New: Authenticating to an SVN Repository to Upload Bundles

Previously, there were limits on sites where JBoss ON could download bundlefiles; only the URL could be specified, no authentication credentials. In practice, this meant that most commonly bundles were uplooaded from a local system to JBoss ON.
Starting in JBoss ON 3.2, JBoss ON can pass authentication credentials to any remote site that is specified. A bundle definition can be created that references the SVN repository URL and then authenticates to the SVN repository (either through standard HTTP or over HTTPS). From there, it pulls in the bundle archive.
This makes it easier for bundles to be pulled directly from a build system.

1.8. New: Additional JBoss Enterprise Application Platform 6 Metrics

A number of new metrics related to session management and web application responsiveness have been added to the JBoss Enterprise Application Platform 6 plug-in for deployed web context (WAR) resources. These include:
  • The virtual host with which this context is associated
  • Duplicated session IDs
  • Currently active sessions
  • Maximum Active Sessions
  • Created Sessions
  • Created Sessions per Minute
  • Expired Sessions
  • Expired Sessions per Minute
  • Rejected Sessions
  • Rejected Sessions per Minute
  • Average Session Alive Time
  • Max Session Alive Time

1.9. Updated: New Chart and Metric Graph Designs

The charts used to render the monitoring graphs have been updated.
  • The Monitoring tab has been streamlined.
    The Availability tab, which was a table of availability changes, as been moved onto the new Metrics tab.
    Additionally, the Tables and Graphs subtabs have been combined into a single view on the Metrics tab, where each row in the table can be expanded to show the visual graph.
  • It is now possible to click and drag on any point on a metrics graph and zoom into the specified time period, with updated calculations for that new window.
  • The overall Monitoring tab has been reorganized so that monitoring data is first displayed in a table grid, and then each metric is expanded into a visual graph. This allows the details of metrics data to be more easily grasped.
  • Stylistically, the availability chart has been streamlined into a clear linear graph, and metrics charts are bar graphs with bands of color to help show minimum and maximum readings per aggregated data point.
New Graph Design

Figure 1. New Graph Design

  • The graphs have been enhanced so that hovering over a data point gives information about the aggregated data value, the minimum and maximum readings for the time period, and the start/end times of the data collection period.
  • Metrics can be selected on any resource Monitoring tab and sent to any saved dashboard.
Sending Charts to the Dashboard

Figure 2. Sending Charts to the Dashboard

1.10. New: Remove an Agent through the UI

Previously, JBoss ON agents could not be removed through the JBoss ON web UI. They could only be removed from the host system, and then the platform entry had to be imported into the inventory (if it wasn't already) and then removed from the server's inventory. Removing the platform resource ultimately removed the agent's registration.
Now, there is an option in the Administration > Agents page to delete a selected agent. This removes the agent's registration information and its entire inventory directly, without having to go through a platform resource.

1.11. New: Editing Alert Conditions

Previously, an alert condition within an alert definition could not be edited. It had to be deleted and then replaced by a new condition.
Now, alert conditions can be edited within the definition.

1.12. New: Scheduling Operations Using cron Jobs

The JBoss ON web UI has long allowed adminitrators to schedule an operation using a cront string. However, it was not possible to use a cron string when creating operations in the CLI or scripts. The OperationManagerRemote remote API method has been updated to allow the schedule to be created in cron syntax.

1.13. New: Specifying Alternate Trap OIDs for SNMP Alerts

Previously, all SNMP alert notifications sent out the same trap OID, which was specified in the global configuration for the SNMP alert sender plug-in.
Starting with JBoss ON 3.2, it is possible to set a different OID within the alert definition. Now, the OID set in the global configuration is used as an enterprise identifier. Then, the SNMP trap OID set in the alert definition is used in a special attribute called a variable binding along with other identifying information for the alert.

1.14. New: Ignoring Resource Types

It has always been possible to ignore discovered resources in the discovery queue. Now, it is possible in the Administration tab to define resource types which will always be ignored and blocked from the inventory.
This is exceptionally useful for server types which have a large number of child resources. Child server and service resources are automatically imported when its parent is imported. For example, a JBoss Enterprise Application Platform resource may have hundreds of MBean child resources; ignoring that resource type can make managing the JBoss Enterprise Application Platform server easier and more maintainable.

1.15. New: Synchronous Availability Check

Resource availability is checked on a schedule (such as every minute for servers and every 10 minutes for services). This meant that there could be a gap between the collection time and the availability state displayed in the web UI or returned by API calls.
JBoss ON 3.2 changed availability checking so that it is performed every 15 seconds when a resource page is open or when a call is made about the resource. This allows for near-immediate visibility of when the state of a resource changes.
When a resource is not being viewed, the normal availability schedule applies.

1.16. New: Including Group Operations in Portlets

Previously, the Scheduled Operations portlet in the Dashboard listed operations scheduled on individual resources. Now, the list includes operations scheduled for compatible groups along with the resource operations.

1.17. Full Support: REST API

In JBoss ON 3.1, a new REST API was introduced as a tech preview feature.
Starting in JBoss ON 3.2, the REST API is fully supported. The REST API, along with some example applications, is available with the JBoss ON server:
https://server.example.com:7080/rest
Along with being supported, the REST API has been extended to include additional functionality, including:
  • LDAP authentication support
  • Paging on returns by following RFC 5988

1.18. New: Page Controls for LDAP Group Operations

With Active Directory and other LDAP directories, the membership lists returned with LDAP authorization could exceed the search limits set for the directory. This could lead to inconsistent or incomplete group information when working with LDAP groups in JBoss ON.
JBoss ON 3.2 implements LDAP paging controls for search results, which helps improve the performance for handling large groups by breaking the group results into pages that are within the search limits.