 | Level: Intermediate Andrew R. Freed (afreed@us.ibm.com), Advisory Software Engineer, IBM Albert Wong (atwong@us.ibm.com), I/T Architect, IBM Retail on Demand EBO , OCSolutions Tian Wang (tianw@us.ibm.com), Advisory Software Engineer, IBM Yashodhara Patnaik (pattu@us.ibm.com), Certified IT Architect, IBM
30 Oct 2007 Updated 21 Mar 2008 In this article, we explain how to integrate your application with IBM® Tivoli® Monitoring 6.1, IBM's health and performance monitoring tool. We also describe the business pain points that IBM Tivoli Monitoring tries to address, provide sample integration scenarios, and show how to get the maximum benefit from the integration with Tivoli, all from a retail industry point of view.
Introduction
IBM has forged a proven track record through 30 years of global experience in the retail sector, including nearly two million POS terminal installations worldwide. Our capabilities go far beyond industry-leading technology to include consulting, store support services and a vast network of 1,500 IBM Business Partners worldwide. For decades, we have also actively participated in retail thought-leadership groups, including those engaged in creating, expanding and improving open industry technology standards and we continue to spearhead the formation of new technology standards. Our experience and attention to your needs as a retailer are reflected in the capabilities, features and standards of IBM Store Integration Framework (SIF).
IBM understands that as a store becomes more complex with the addition of mobile devices (Web pads, self-check-out, kiosks, RFID tags, and dynamic displays), the underlying infrastructure must support new technology and the older technology that is currently in place. In the past, store infrastructure has largely been vendor driven -- disparate, redundant technologies that are hard to support and expensive. IBM Store Integration Framework delivers the next-generation store platform. IBM Store Integration Framework provides the foundation for integrating existing store solutions, adding new solutions and touch points, and integrating the store to the enterprise. Unlike the typical store configuration, this is a fully integrated environment based on industry standards. The IBM Store Integration Framework supports the integration of IBM and Business Partner POS solutions and hardware from various providers. IBM Tivoli Monitoring, IBM Tivoli Enterprise Console, and IBM Remote Management Agent are core pieces of the IBM Store Integration Framework and provide the hardware monitoring of the hardware devices that are deployed on the IBM Store Integration Framework.
Figure 1. Store Integration Framework
What is monitoring? Why do monitoring? Why do you care?
Typically retailers cannot afford to have IT skills at the store. For all practical purposes, there are zero IT skills at the stores. On the other hand, many of the retail stores are connected to an enterprise on low bandwidth networks. The same bandwidth is shared across all activities starting from high-priority credit card authorization to the low-priority bulk software distribution. This demands that retail stores, typically in the order of hundreds if not thousands, be remotely managed over a low bandwidth networks.
The management and monitoring functions of the remote stores can be broadly classified in three categories: Software Distribution, Configuration, Inventory.
Due to the lack of IT skills at the store, software installation and configuration is a big challenge in retail. New software and firmware needs to be delivered to the store, as the store requirements evolve. As these applications themselves evolve, updates on the software and firmware need to be delivered to the store. Version management and software and hardware inventory tracking is another major activity to keep the store infrastructure up-to-date. All these activities have to be performed remotely over a large number of stores and low bandwidth from a central location.
Performance monitoring and configuration:
Performance monitoring focuses on the runtime aspects of various store-level resources from a systems management point of view. A resource is a manageable entity that exposes certain management information in terms of performance metrics. The metric values at any point in time define the health of the resource at that time. Performance monitoring allows the enterprise IT team to “watch” these metrics proactively and take steps (manual or automated) to avoid or recover from potential break down of the store systems. An example of a metric is the number of lines printed on a POS printer attached to a POS terminal. Performance monitoring also allows the store systems to be dynamically configured for avoiding potential failures in a manual and an automated fashion.
Event monitoring:
Systems management events are notifications from the store systems that indicate immediate and potential problems. These notifications are typically informational, warnings, errors, exceptions and fatal problems. Event monitoring deals with collecting these events at a central location and alerting the IT team for their attention. It also deals with correlation of the events at the source or at the central location, and root cause analysis based on the dependency rules. Appropriately defined thresholds on resource metrics can also trigger events. Event monitoring often involves running system recovery tasks based on event attributes.
Hardware monitoring in Retail
Systems management in retail stores is achieved in three tiers:
Central systems management infrastructure:
The Tivoli suite of products provides capabilities to remotely manage and monitor store resources. IBM WebSphere® Remote Server (WRS) includes IBM Tivoli Monitoring (ITM) for performance monitoring and IBM Tivoli Enterprise Console (TEC) for event monitoring. We focus on performance monitoring in this article.
In-store server processor (ISP):
The Store Integration Framework employs a mid-level manager model where all devices in the store interface
to a single aggregation point in the store. This aggregation point is the focus of all outside management actions, and is in-turn responsible for
executing all management actions across the components that make up the store.
Store devices:
Store devices run management agents that interface with the device APIs to collect management information. There are several technology standards today, such as Java® Management Extensions (JMX), Component Information Model (CIM), Windows® Management Information (WMI), and Simple Network Management Protocol (SNMP), to achieve compatibility between management infrastructures.
Figure 2. Retail store system management
Let’s look at the store in detail as shown in the Figure 3.1. The ISP runs Tivoli agents to provide communication with the central systems management. A Tivoli adapter talks to the central TEC and forwards event information. The event information is collected from various sources including the ISP middleware stack, operating system and store devices. Universal Agent is part of ITM, which provides communication between the central ITM and the managed resources in the store. ITM agents also collect performance metrics from the ISP middleware stack and operating system and other devices in the store. ITM can also monitor the metric values and compare against thresholds. These tests are called situations, and can be combined logically to create complex situations. Whenever these conditions apply, ITM can generate events into TEC. These thresholds and situations are configurable in ITM.
WRS integrates with IBM Remote Management Agent (RMA) which provides JMX-based device management. RMA consists of a Master Agent (MA) and General Agents (GAs). GAs run on the devices and collect and expose management information. This information is aggregated at the MA running on the ISP. Both MA and GA (referred to as RMA agents from now on) are JMX MBean servers and host MBeans. These MBeans interface with the device APIs to collect management metrics and events from the devices. RMA agents provide mechanism to directly tap into standard device management APIs like CIM, and WMI. RMA agents are also equipped to detect JPOS drivers and turn the device metrics exposed through jPOS as JMX metrics. This is very powerful in the POS world, especially when managing POS terminals, kiosks and peripherals. MA employs discovery mechanism to detect all the GAs within the store, and create shadow MBeans for each of the MBeans detected in each of the GAs. This provides an aggregation point where correlation rules can be applied and the information can be forward up stream.
IBM Retail Environment for SuSE Linux® (IRES) v2 is an optimized operating system based on Novell Linux Point of Sale (NLPOS) for IBM SurePOS™ systems. IRES incorporates RMA agents to provide POS systems management through JPOS drivers. Therefore, all the IBM POS peripherals are fully manageable within the SIF management framework. As of March 2008, device monitoring is not supported with IRES.
WRS Data Provider, which also runs on the ISP, acts as a bridge between RMA Master Agent and the Tivoli agents. It is devised as a generic JMX bridge so as to cater to the devices that do not run RMA General Agents. It can also get metrics from the WebSphere Application Server (WAS) MBean container as well as applications that expose management information as JMX. Finally ITM Toolkit provides Eclipse-based tools to create data feeds into the universal agents from the device agents. Currently ITM Toolkit supports CIM, and WMI. You can also create custom data streams that interact with device APIs. WRS Data Provider and ITM Toolkit together provide a single set of tools that bridge all the device agents to Tivoli agents. The hope is that they run as a single infrastructure element in the Store Integration Framework. WRS SNMP Trap-mapper listens for JMX notifications from RMA Master Agent and sends upstream to TEC directly through Tivoli SNMP adapters. This allows retailers to monitor store level events without going through ITM, to provide basic event management.
How to achieve a standards-based Store Device Monitoring architecture
IBM strongly believes that Open Standards is the way of the future. With that said, IBM works with retail industry groups like the Association for Retail Technology Standards (ARTS) to create standards that help the IT operations of retailers. In the case of retail store devices, IBM helped create the UnifiedPOS (UPOS) standard which solved the issue of retailers and ISVs having to code their own drivers and supporting a myriad of software and hardware configurations. In addition, to be an advocate for this standard, most, if not all of the IBM Retail hardware, has UPOS drivers written for them.
Install the components
To get started, you'll need to install the following hardware and software components.
Hardware
- Server (Machine A) that represents the enterprise server
- Server (Machine B) that represents the store server
- POS terminal (Machine C) that represents the typical cash register that you have in the store
Software
- IBM Remote Management Agent
- This is the retail-hardened version of Linux that IBM and SUSE jointly developed. It includes IBM Remote Management Agent and IBM UPOS drivers for all the IBM SurePOS hardware (no need to install this software again). This will run on Machine B (RMA Master Agent) and Machine C (RMA General Agent).
- IBM WebSphere Remote Server
- This provides the middleware infrastructure for the store and integrates the stores to the enterprise. IBM WebSphere Remote Server
includes IBM Tivoli Monitoring 6.1 and Tivoli Enterprise Console 3.9 along with seven other IBM middleware products. IBM Tivoli
Monitoring provides the health and performance monitoring, and Tivoli Enterprise Console provides the automatic problem
diagnose and resolution.
- IBM Tivoli Monitoring and Tivoli Enterprise Console will be installed on Machine A and configured to synchronize data
between the two products.
- IBM Tivoli Monitoring agents installed on Machine B pull data from the store and store that information in the
enterprise.
- WRS Data Provider, a type of IBM Tivoli Monitoring agent, must be installed and configured to communicate with
IBM Remote Management Agent on Machine B. The WRS Data Provider will extract monitoring data from the POS hardware
via UPOS drivers and complete the monitoring path from POS Hardware to IBM Tivoli Monitoring and IBM Tivoli Enterprise
Console.
- In summary, the complete monitoring path will look like this: POS Hardware (Machine C) -> UPOS Drivers (Machine C) -> RMA General agent
(Machine C) -> RMA Master agent (Machine B) -> WRS Data Provider (Machine B) -> ITM Universal Agent Data Provider
(Machine B) -> IBM Tivoli Monitoring Server and IBM Tivoli Enterprise Console (Machine A)
- A retail application
- Your retail application must be installed on the appropriate machines (typically Machine B and Machine C), depending on your application.
- To complete the monitoring picture, it is ideal that an IBM Tivoli Monitoring agent has configured to monitor your retail application. Please ask
your retail application vendor if they have an IBM Tivoli Monitoring agent for their application.
For details on how to install and configure these products, please see the Resource section for links to IBM InfoCenters and IBM Redbooks® on the various products.
Sample architecture when completed
When you've finally installed everything, your operational model should look somewhat like that below. Please note that the following diagrams represent all the IBM middleware products in a full customer rollout. It will contain not only the software needed for hardware monitoring, but also for operating system and middleware and application monitoring, change management, event management, and all the IBM middleware products that support a Retail ISV application.
In addition, here is a breakdown of features by product:
- IBM WebSphere ND 6.1 - WebSphere Application Server V6.1 is Java 2 Enterprise Edition (J2EE) 1.5-compatible and enables an on-demand infrastructure with the following key features:
- Full Java 2 Platform, Standard Edition (J2SE) 5.0 support across all offerings, providing increased application programmer productivity and unbeatable performance.
- Expanded Web services standards support to make interactions more secure, and give you more flexibility and control.
- IBM WebSphere MQ 6.0 - WebSphere MQ enables you to integrate your applications reliably and consistently, allowing you to leverage your existing software and
hardware assets more effectively. As a market leader for message-oriented middleware, it offers scalable, enterprise-class connectivity designed to grow with your
integration challenges and needs. WebSphere MQ enables you to begin deploying your enterprise service bus (ESB) today and gain the benefits of an integrated SOA.
- IBM DB2® UDB 9.1 Workgroup Server - DB2 V9.1 builds on its market-proven industrial strength and on demand capabilities with the following key enhancements:
- Reduces data storage requirements by up to 80% and improves overall system performance.
- Reduces administrative costs with adaptive memory management and automatic storage management.
- Maximizes data availability by reducing planned and unplanned downtime.
- Tivoli Provisioning Manager for Software 5.1 - Tivoli Provisioning Manager for Software helps your organization automate deployment of software across distributed servers, desktops, and laptops. With built-in discovery, inventory, software distribution, patch automation, and compliance and remediation, you can manage the complete lifecycle of a PC or server.
- Tivoli Enterprise Console 3.9 - IBM Tivoli Enterprise Console is a powerful, rules-based event management application that performs root cause analysis and correlation, and also integrates network, systems, database, and application management.
- IBM Tivoli Monitoring 6.1 - IBM Tivoli Monitoring is an enterprise-class, easy-to-use solution that can help you optimize the performance and availability of your entire IT infrastructure. Through a single customizable workspace portal, you can proactively manage the health and availability of your IT infrastructure, end-to-end, including operating systems, databases, and servers, across distributed and host environments. IBM Tivoli Monitoring detects bottlenecks and potential problems in essential system resources and helps you automatically recover from critical situations to ensure your business-critical applications are up and running.
- Tivoli Composite Application Mgr 6.0 - IBM Tivoli Composite Application Manager for WebSphere delivers advanced monitoring and management of WebSphere-based J2EE applications.
- IBM Tivoli Monitoring for Database 6.1 - IBM Tivoli Monitoring for Databases helps you proactively monitor and ensure the availability, administration, and optimal performance of databases and servers, offering a central point of management for distributed databases. It offers a comprehensive means for gathering the information you need to detect problems early and help prevent them.
- Tivoli OMEGAMON® XE for Messaging 6.0 - IBM Tivoli OMEGAMON XE for Messaging helps make it easy to determine the availability and performance of critical components to implement IT service management in your messaging backbone
- IBM Retail Environment for SUSE Linux - With IRES, on demand retailers can acquire the advantages of Linux, run it at the point of sale and on back-office servers. You can enjoy robust functionality drawn from many years of IBM retail experience, and receive outstanding technical support from IBM. IRES includes a retail-optimized distribution of the robust Novell SUSE LINUX Enterprise Server called Novell Linux Point of Service (previously named SUSE LINUX Retail Solution or SLRS). IRES adds function gained from many years of experience in retail solutions, such as automatic flashing of POS BIOS, improved problem determination including dump button enablement, improved operator guidance, a simplified configuration graphical user interface, and systems management.
Figure 3. IBM Retail Reference Architecture - deployment view
Figure 4. IBM Retail Reference Architecture - central site physical and software view
Figure 5. IBM Retail Reference Architecture - store physical and software view
Decide what to monitor
A typical retailer might want to monitor the following:
- Is my POS hardware running?
- Is my POS hardware running well?
- What is the utilization of my POS hardware?
- When will I need to do routine maintenance on my POS hardware (ex: replace printer cartridges)?
Sometimes you simply want to know the value of an attribute - how many receipts are being printed? In most cases, you want to raise errors when certain things happen, such as when the printer is not running. When planning what to monitor, you must consider whether you are looking for information or for errors. You need to decide what information you want to monitor and how often you want to monitor it.
With error and event tracking, you must also plan event severities and responses. For example, if the hardware is not running, it is a critical error and there should be a response action to fix the hardware. If a printer has printed a large number of lines, this is probably a minor event that requires a response (replace the print cartridge), but the response does not need to be immediate.
In this article, we focus only on monitoring attributes of hardware.
Example scenarios
We assume that you are familiar with IBM Remote Management Agent. If not, you should consult the RMA documentation
Monitoring a printer
Assumed pre-requisites:
- IBM Tivoli Monitoring (ITM) 6.1 is installed, including a Tivoli Enterprise Portal Server (TEPS), Tivoli Enterprise Management Server (TEMS), and a Universal Agent (for demo purposes, these can be colocated)
- The WRS Data Provider (part of WebSphere Remote Server 6.1 solution) has been installed on the same machine as the Universal Agent.
- IBM Remote Management Agent (RMA) v2 is installed with the WRS Data Provider
- A local printer with the appropriate UPOS 1.9.2+ driver and the latest firmware, and an application that can exercise that printer. We use an IBM 4610 USB printer with the IBM JavaPOS Tester sample application.
- As of March 2008, the printer must be installed on a Windows machine.
Gathering monitoring configuration information
We use JMX to monitor the printer. The Remote Management Agent is capable of creating a "proxy" JMX MBean for the printer after the printer has gone through an "open, claim, and enable" process. When the printer is activated this way, we can do standard JMX queries against it to find which attributes it exposes and what values those attributes have.
Make sure IBM Remote Management Agent is started. Now open the application that uses the printer, then open, claim, and enable the printer.
At this point, we can run a JMX inventory against IBM Remote Management Agent. This tells us all of the MBeans managed by RMA, as well as the attributes and methods exposed by each bean.
To run the MBean inventory scan on RMA
- Edit C:\Program Files\IBM\SIF\WRSDP\bin\jmx_inventory.bat -- uncomment the two RMA v2 lines
- Execute
C:\Program Files\IBM\SIF\WRSDP\bin\jmx_inventory.bat
service:jmx:rmi://localhost:10150/jndi/ma > rma_inventory.txt
Result file: rma_inventory.txt
Now, scan for the MBean representing the printer. Search on "UPOS_POSPrinter". The following table shows the MBean created for our IBM 4610 printer, and highlights some interesting attributes we
would like to monitor. You can pick as many or as few attributes to monitor as you would like.
List
masteragent:Id="UPOS_POSPrinter.DeviceID=POSPrinter USB 4610 TI3/4/5/8/9 TM/F
6/7UPOS_POSPrinter",SystemId=ma-wrstestg.10150,SIFMBean=true,SIFComponent=CIM,
DeviceID=POSPrinter USB 4610 TI3/4/5/8/9 TM/F 6/7UPOS_POSPrinter,DeviceId=wrstestg,
CIMClass=UPOS_POSPrinter "Proxy MBean for CIM Instance"
...
java.lang.Long ReceiptCharacterPrintedCount "ReceiptCharacterPrintedCount"
...
java.lang.Long SlipCoverOpenCount "SlipCoverOpenCount"
...
java.lang.Long ReceiptLineFeedCount "ReceiptLineFeedCount"
...
|
Create a configuration file
The next step is to create a configuration file for the WRS Data Provider that will monitor the attributes you
have decided to monitor. The WebSphere Remote Server infocenter describes how to create this configuration file.
A sample configuration file follows (wrsdp-config.xml):
<WRSDataProvider>
<application name="HARDWAREMONITOR"
description="Hardware monitoring example"
JMXServerURL="service:jmx:rmi://localhost:10150/jndi/ma"
collectionInterval="120000">
<env key="java.naming.factory.initial"
value="com.sun.jndi.rmi.registry.RegistryContextFactory" />
<env key="java.naming.provider.url"
value="rmi://localhost:10150" />
<attribute-group
name="Printer"
description="IBM 4610 Printer"
objectNameQuery="masteragent:CIMClass=UPOS_POSPrinter,*"
delimiter="^^">
<objectNameComponents>
<objectNameComponent
name="DeviceId"
displayname="Printer host"
description="Uniquely identifies a device"
length="14" />
<objectNameComponent
name="DeviceID"
displayname="Printer ID"
description="Uniquely identifies a printer"
length="80" />
</objectNameComponents>
<attributes>
<attribute name="ReceiptCharacterPrintedCount"
displayname="Chars printed"
type="Numeric" />
<attribute name="ReceiptLineFeedCount"
displayname="Lines printed"
type="Numeric" />
<attribute name="SlipCoverOpenCount"
displayname="Cover opened counter"
type="Numeric" />
</attributes>
</attribute-group>
</application>
</WRSDataProvider>
|
The configuration file specifies several important entities:
- JMXServerURL - Where the JMX server can be contacted
- collectionInterval - How often (in milliseconds) to collect attribute data
- events objectNameQuery - Which MBeans to listen to for events
- Environment variables needed when connecting to the JMX server
- attribute-group objectNameQuery - Which MBeans to gather attribute data from
- objectNameComponents - Which parts of the MBean's ObjectName will be passed with the message (used as a primary key)
- attributes - Which MBean attributes will be monitored.
Save the configuration file to C:\Program Files\IBM\SIF\WRSDP\etc\wrsdp-config.xml. Next,
import this configuration data into the Universal Agent by running
C:\Program Files\IBM\SIF\WRSDP\bin\import_metafiles.bat
"C:\Program Files\IBM\SIF\WRSDP\etc\wrsdp-config.xml"
Now start the WRS Data Provider service.
Open your Tivoli Enterprise Portal and accept the pending updates to its display.
When all updates are incorporated into Tivoli Enterprise Portal, you should see three entries under the Universal Agent: One for the printer, a JMX event log, and one for the Universal Agent itself (ASFSdp:UAGENT00).
Figure 6. List of managed systems in Tivoli Enterprise Portal
Clicking on each entry will give you a workspace for that application which you can customize. The default workspace
will contain a table-based report.
Figure 7. Printer data in Tivoli Enterprise Portal
Downloads | Description | Name | Size | Download method |
|---|
| Sample result of the MBean inventory scan on RMA | rma_inventory.txt | 912KB | HTTP |
|---|
| Sample WRS Data Provider configuration | wrsdp-config.xml | 2KB | HTTP |
|---|
Resources Learn
Get products and technologies
-
JMX Download the JMX specification and documentation.
Discuss
About the authors  | 
|  | Andrew R. Freed is an Advisory Software Engineer at IBM's Research Triangle Park facility in North Carolina. He has spent the last two years on the WebSphere Remote Server team, specializing in monitoring solutions. He is the author of the WRS Data Provider. |
 | 
|  | Albert Wong is an IT Architect with IBM Retail On Demand Emerging Business Opportunities (EBO), the IBM skunk works organization with the mission to increase IBM business and technical solutions within the Retail industry. Due to the dynamic nature of the EBO, his skills span the whole spectrum of IT business and technical development from technical pre-sales, solution design and implementation, offering development to ecosystem enablement. He is the author of several IBM developerWorks articles and has an IBM developerWorks blog named Pragmatic Open Computing Blog. |
 | 
|  | Tian Wang is an advisory software engineer working with IBM Retail Ready for SIF program. |
 | 
|  | Yasodhar Patnaik is a Certified IT Architect working with Retail EBO team in IBM Software Group. Over the past five years his focus has been mainly in retail and distribution solutions such as Open POS, On Demand Workplaces for Retail, Store level RFID, and Digital Video Surveillance. His current responsibilities include defining customer store architectures including partner applications, business partner enablement, technical pre-sales, and solution definition and development. Previously he served as the Systems Management Architect for initial releases of WebSphere Remote Server. |
Rate this page
|  |