Understanding Device Health Monitoring rev 3 henley

advertisement
Device Health Monitoring
(This document intended for Intermec SE community)
Please report any errors or suggestions to:
Allen Henley
Product Manager
allen.henley@intermec.com
Revision: January 1, 2012
“The 1 Page Overview”
What is it?
Device Health Monitoring is a series of hardware sensors and software algorithms that
provides capabilities for monitoring, troubleshooting, and logging mobile computer
performance.
Why?
This capability enables advanced remote troubleshooting and predictive maintenance. It
allows device managers to more efficiently manage their devices and prevent problems
before they impact users.
How does it work?
The computer is configured to periodically monitor and log it own hardware and software
subsystems. Based on the information collected, a set of rules is applied to determine if the
device is healthy. If the device is found to be “unhealthy”, it can automatically generate an
alert message which notifies the user, a remote console, or both. When troubleshooting a
suspected problem, this logging data can be viewed remotely or automatically sent to a
remote console (such as SmartSystems console) on a periodic basis.
The logging function is set through Intermec Settings. This function determines which
subsystems are monitored, and how often the data is collected. Each time the logging
function collects a snapshot of data; this “snapshot” is stored in device memory until the next
logging event when the data is then overwritten.
The rules engine is set to factory default values, but the rules can also be easily configured by
an IT administrator. Each time the logging function takes a snapshot of data, the rules engine
will analyze the data and determine if it needs to generate an alert. When an alert is
generated, the user can be notified (with a flashing blue light) and/or the remote console can
be notified with an alert message and a copy of the snapshot of data that generated the alert.
At any time, the user can access a summary of information through the Device Health
dashboard by using the front panel “?” key. This dashboard displays the last snapshot of data
(it does not initiate a fresh snapshot). Also, at any time a remote administrator can request a
full set of the last data that was logged. This is known as an asset message.
The mobile computer does not keep ‘old’ records. Each time new data is logged it replaces
the previous snapshot. When the rules engine determines an alert is necessary, this data can
be sent to the remote console, which can keep historical data for trending device
performance.
Device Health must be licensed to use with Mobile Device Management solutions such as
SmartSystems, SOTI, etc. Device Health requires a license on each device.
Key subsystems which are monitored are:
Battery, Wireless Networks, Imager, Memory, GPS, Camera, Touch Panel, Peripherals.
Configuring Data Logging
Data logging can be configured through settings in Intermec Setting. You can configure
this from the front panel or through SmartSystems.
Upon saving these changes, you do not need to reboot the computer. The logging timers
are automatically reset to zero and the first snapshot will be captured based on the value
of the new settings.
To configure logging from the front panel:
Select: Start -> Settings -> System -> Intermec Settings -> Device Monitor -> Device
Health Controls -> Set Data Refresh Periods
To configure logging with the Intermec SmartSystem Console:
1. “Discover” the device with SS Console
2. Right Click on the Device Icon
3. Select “Start Intermec Settings”
4. Drill down into Device Monitor -> Device Health Controls -> Set Data Refresh
Periods
5. Set “Systems Device Health” – in seconds
6. Set “Network Device Health” – in seconds
Some subsystems are logged based on internal settings that are not controlled through
Intermec Settings. For instance, the scanner statistics are logged into memory every 5
minutes. This is not intended to be user configurable, although it can be changed by
advanced users with changes to registry settings (beyond the scope for this author).
System Device Health Logs Data On:
1. Battery, Memory, Storage, GPS, Processes, Drivers, AC Power, Camera, etc
Network Device Health Logs Data On:
2. WLAN, Bluetooth, Ethernet, etc.
Other Systems Logged based on Registry Settings: (TBD – Not sure on this)
3. Scanner, WWAN?, Touch Panel?, others ?
Forcing Asset Messages
In most cases, it is not necessary to send asset messages unless some “rule” has been
broken and the mobile computer determines it is supposed to send an asset message to the
console.
In some case it may be desirable (like troubleshooting a problem) to simply have the
computer send asset messages on a regular basis. For example, if you want the mobile
computer to send an asset message every 10 minutes, you can configure this as part of
Intermec Setting on the device.
Example:
To configure the mobile computer to send an asset message every 10 minutes;
From the device front panel:
Select: Start -> Settings -> System -> Intermec Settings -> Device Monitor -> Device
Health Controls -> Set Data Refresh Periods
Set Asset Msg Send Period = 10
Special Notes:
1) Send period is minutes (not seconds like the logging timers)
2) Sending an asset message does not force data to be collected, it simply sends the
last data that was logged
Viewing Logged Data
Once logging is enabled, there will be a snapshot of data that stored in memory. It is
periodically updated based on how logging has been configured.
To view logged data, you can use the front panel “Dashboard” or you can use remote
device management tools such as Intermec SmartSystems. Other non-Intermec device
management solutions may support this through the SmartSystems API. Contact them
directly to see if they support Intermec Device Health Monitoring.
From the Front Panel Dashboard
To use the front panel Device Health Dashboard, press the “?” key. This will bring up a
dashboard that allows you to drill down into the various subsystems of data that has been
collected.
From SmartSystems Console
1) Launch SmartSystems Console
2) Discover the Device
3) Right click on the device. Select Refresh
4) Right click on the device. Select Properties
5) Use the various tabs to view the data on the device.
Some important notes when using SmartSystems Console
1. The data you are viewing is called an Asset Message
2. Using the drop down menu at the top of the Console Screen, you can select
different Asset Messages that have been received by the console
3. If you believe you have received Asset Messages that are not shown in the pull
down list, you might need to refresh the list. To do this, select View->Refresh.
Important Note: This does not force the computer to send a new message, see #5
below.
4. The time/date of these messages is when the message was received by
SmartSystems, it is not when the data was collected. For example, if you are
logging data once per hour and you ask for an asset message, the actual logged
data could be up to 1 hour old. As of this writing, the author does not know any
method to force a logging “snapshot”.
5. Although you cannot force data to be logged, you can force the mobile computer
to send the console an asset message with the last data that was logged. To do this
from SmartSystem main screen, Right Click on the mobile computer and select
Refresh. If you know go to Properties, you should see a message that was
recently received.
Understanding “Rules”
Each time data is logged, a set of “Rules” will analyze the data and determine if some
action needs to be taken. The two actions that are normally taken will be #1 Turn on the
Blue Flashing Light to alert the user or #2 Send an Asset Message to a remote device
console such as Smart Systems. You can configure the device to do either or both of
these actions.
Where are the rules located?
The rules engine is based on an xml file located on the device. By default, the rule file is
located in \SmartSystems\HealthRules.txt and \SmartSystems\HealthRules.xml.
Using Intermec Settings, you can change the location and filename for the HealthRules
file. In Intermec Settings use the following:
Select: Start -> Settings -> System -> Intermec Settings -> Device Monitor -> Device
Health Controls -> Set Rule File Location
Important: If you change the rules file, you need to remember that the rules won’t be
evaluated until the next logging cycle. You do not need to reboot the device.
Creating your own Rules
SmartSystems console has a function that allows you to create and edit your own rules
file. It is an interpreted programming language that provides some simple programming
capability and logic. SmartSystems has some pretty good examples, but to get you started
follow these steps
1) Launch SmartSystems Console
2) Right-click on one of your Health Rules files and select “Edit Rule File”
3) Use the GUI editor at the top of the screen or the Text Editor at the bottom.
4) Save your file to a new Filename such as “My Rules rev 1”)
5) Drag and Drop the New rules file onto the device
Following is a very simple rules file that shows you how to create your own messages for
the rule.
/*
* This is Allen's Health Rules.txt file.
* The rule says that whenever the device is on charge it will start flashing the blue light
* and send a Asset Message to the console. Asset message are sent whenever
* there is a state change. Note: It won’t start flashing until a snapshot is logged
*/
{
INT RTW_BROKEN = 1;
INT RTW_UNHEALTHY = 2;
INT RTW_HEALTHY = 3;
INT ACLineStatus = @[health/System/Power/ACLineStatus];
if (ACLineStatus == 1)
{
SetRtwState(RTW_UNHEALTHY, "Unit is being charged",0, __BLOCK__);
}
/*Default to connected if we didn't set anything else, Connected*/
SetRtwState(RTW_HEALTHY, "", 4, __BLOCK__);
}
Why do we have a .txt and a .xml file on the device?
When using SmartSystems to create and download a new rules file to the device, it
automatically generates a .txt file, a .xml file, and it sets the correct file name in Intermec
Settings.
The .txt file contains the rules (described in the example above) and the .xml file contains
text strings that are status message. The text in the message file can be replaced with
non-English strings, so that status message will appear in local languages.
Download