You are on page 1of 64

Metso Automation.

maxDNA maxRPM Users Guide

Metso Automation

maxDNA
maxRPM
User Manual
August 14, 2002
Revision A.2
The information herein
is the property of Metso Automation MAX Controls, Incorporated
and is disclosed in confidence on the understanding that its use
will be limited to purposes authorized in writing
by Metso Automation MAX Controls, Incorporated.

Metso Automation MAX Controls, Inc.


1180 Church Road
Lansdale, PA 19446
USA

Metso Automation.

maxDNA maxRPM Users Guide

Revision History
Rev
A.1
A.2

Date
22-Feb-02
14-Aug-02

Description
Initial Release
Updates for maxSTATION Release 3.1.0

Metso Automation.

maxDNA maxRPM Users Guide

Table of Contents
1
2
3
4

Notes on this Release...........................................................................................................................5


Definitions............................................................................................................................................6
Overview..............................................................................................................................................7
Getting Started....................................................................................................................................10
4.1 TARGET SYSTEM PREPARATION........................................................................................10
4.1.1 System Wide Wks.ini................................................................................................................10
4.1.2 Adding a new Windows User Logon........................................................................................11
4.1.3 Enabling the Windows Disk Performance statistics.................................................................12
4.1.4 Security For Windows Performance Statistics.........................................................................13
4.2 MAXSTATION FOR MAXRPMSERVER..............................................................................13
4.2.1 Requirements:..........................................................................................................................13
4.2.2 maxSTATION Installation........................................................................................................13
4.2.3 maxRPMServer Software Installation......................................................................................14
4.2.4 Configuration..........................................................................................................................14
4.2.4.1
maxSTATION Startup.....................................................................................................................................14
4.2.4.2
Monitor.ini.......................................................................................................................................................14
4.2.4.3
Network.ini......................................................................................................................................................15
4.2.4.4
maxSTORIAN.................................................................................................................................................15
4.2.4.5
EventCollector.................................................................................................................................................16
4.2.4.6
EventServer..................................................................................................................................................... 16
4.2.4.7
EventLogger:...................................................................................................................................................16
4.2.4.8
Remote Server.................................................................................................................................................16
4.2.4.9
DPUList.ini \ SimDPUList.ini.........................................................................................................................17
4.2.4.10 RPMStartup.ini................................................................................................................................................17
4.2.4.11 History Reports Package..................................................................................................................................17
4.2.4.12 Setting the Share Property of C:\Remote........................................................................................................17
ETHERNET SWITCHES........................................................................................................18
MAXRPM CLIENT.............................................................................................................18

4.3
4.4
4.4.1 System Requirements...............................................................................................................18
4.4.2 Installation..............................................................................................................................18
4.4.3 Configuration..........................................................................................................................19
4.4.3.1
4.4.3.2
4.4.3.3
4.4.3.4

maxRPM Client...............................................................................................................................................19
Remote maxVUE............................................................................................................................................19
Default Trend Source.......................................................................................................................................19
Default maxSTORIAN....................................................................................................................................19

Starting the maxRPM Server..............................................................................................................20


5.1 MANUALLY STARTING THE RPM SERVER.........................................................................20
5.2 ENABLING RPMENGINEER AS THE DEFAULT LOGIN........................................................20
6 User Interface.....................................................................................................................................21
6.1 MAXRPM SERVER.............................................................................................................21
6.1.1 Statistics Maintained By maxRPM Server...............................................................................24
6.2 EVENT TRIGGER................................................................................................................25
6.3 MAXRPM CLIENT.............................................................................................................25
6.3.1 Establishing a Connection to a maxRPM Server.....................................................................25
6.3.2 Remote maxVUE.....................................................................................................................25
6.3.3 Viewing Trend Data.................................................................................................................27
6.3.4 Viewing Reports.......................................................................................................................27
6.3.5 Viewing Event Data:................................................................................................................27
6.3.6 Viewing maxSTATION Configuration Files.............................................................................28
6.4 MAXSTORIAN:................................................................................................................28
7 What the Numbers Mean....................................................................................................................29

Metso Automation.

maxDNA maxRPM Users Guide

7.1 MAXSTATION PERFORMANCE STATISTICS.......................................................................29


Trigger.ini...........................................................................................................................................30
8.1 LATCH COMMAND.............................................................................................................30
8.2 ENUM COMMAND..............................................................................................................30
8.3 TRIGGER COMMAND.........................................................................................................32
Appendix A: Enabling Non-Admin Users to Remotely Monitor with PERFMON....................................36
Appendix B: Cisco Ethernet Switch Data..................................................................................................38
Appendix C: Monitor.ini Technical Details............................................................................................42
COLLECTION COMMANDS............................................................................................................42
Monitor Command.............................................................................................................................42
Ignore Command................................................................................................................................43
Group Command................................................................................................................................43
Point Command.................................................................................................................................44
Instance Command.............................................................................................................................45
Sample Command..............................................................................................................................45
Map Command...................................................................................................................................45
Update Command..............................................................................................................................46
Object Command...............................................................................................................................46
Sample Setup Command.....................................................................................................................46
Relearn Command.............................................................................................................................47
Path Command..................................................................................................................................47
MAXSTORIAN COMMANDS........................................................................................................47
Template Command............................................................................................................................47
Subcribe Command............................................................................................................................48
Enum Command.................................................................................................................................48
POINT GROUP COMMAND............................................................................................................49
OBJECT NAMES AND DEVICES.....................................................................................................49
ACCESSING VARIABLES VIA SBP................................................................................................50
Available Point Output.......................................................................................................................51
Alternative Point Access....................................................................................................................51
MONITOR ACCESS MODES...........................................................................................................52
SCRIPTING....................................................................................................................................55
Appendix D: Windows Performance Monitor Information........................................................................57
Q152513: TROUBLESHOOTING PERFORMANCE MONITOR COUNTER PROBLEMS........................57
Q164018: CONTROLLING REMOTE PERFORMANCE MONITOR ACCESS TO WINNT SERVERS.....59
Q248993: PERFORMANCE OBJECT IS NOT DISPLAYED IN PERFORMANCE MONITOR.................62
8

Metso Automation.

maxDNA maxRPM Users Guide

Notes on this Release


The initial release of the Remote Performance Monitor package occurred with maxSTATION Release
3.1 (August 2002).

Metso Automation.

maxDNA maxRPM Users Guide

Definitions

maxRPM

This is the name of the Remote Performance Monitor Package. The package
includes various executable, data and ini files. The Remote Performance
Monitor Package will operate as an extension of a maxSTATION and
requires many of the modules contained in the standard maxSTATION.

maxRPMServer

The portion of the maxRPM package that performs the actual data
collection and monitoring function. Depending on how it is configured, the
server may generate only current data for viewing purposes, or additionally
generate history data to be used for reports or trends. In this document
maxRPMServer also refers to the maxSTATION on which this software is
installed.

maxRPMClient

The portion of the maxRPM package that would connect to a Remote


Performance Monitor Server, generally via modem from the Metso
Automation Lansdale facility, so as to view the current and historical data
collected by that server.

Target System

The Metso Automation supplied system from which the maxRPM Server
will collect data.

Microsoft Windows NT and Microsoft Windows 2000 are copyrighted names for software products
of Microsoft Corporation.

Metso Automation.

maxDNA maxRPM Users Guide

Overview

The purpose of the maxRPM package is to monitor the overall health of the major elements of an entire
Metso Automation System. Elements include maxSTATIONs, DPUs, DBMs, Networks and Ethernet
switches. In the case of maxSTATIONs it includes the various critical software such as the Windows
Operating System, the Metso Automation Software Backplane, maxSTORIAN and maxLINKS. The term
health refers to the operational state (i.e. is the element running), load (i.e. responsiveness, throughput,
etc.) and error conditions (i.e. is the element having trouble reading data, timeouts).
The block diagram below shows the software that comprises the maxRPM. The shaded boxes are the
processes specific to the maxRPM; the others are part of a standard maxSTATION but are used by the
maxRPM. Typically the maxRPM Server portion of the package will be installed on a maxSTATION
directly connected to the target system. The maxRPM Client portion of the package will run in a
maxSTATION at a Customer Care facility. Customer Care personnel will dial into the maxRPM Server
from the maxRPM Client on a periodic basis and analyze the data collected by the maxRPM Server. From
the maxRPM Client maxSTATION the user can view and upload other files collected from the
maxSTATIONs on the target system such as the ini files. He can also view and print reports generated by
the History Report Server and submit Event Queries.
For a typical system, the maxRPM Server requires minimal configuration to identify certain aspects of the
target system and define the operating mode of the server. The maxRPM Server will learn most of what
it needs to know about the system automatically. Through configuration, a knowledgeable user such as a
Customer Care representative can customize the elements that are monitored, their corresponding
statistics, and the historical data that is to be saved by the maxSTORIAN.
The maxRPM Server will start up as part of the maxSTATION Startup. During initialization, it will do the
following:
1) Read the monitor.ini file.
2) Read the file c:\Remote\LearnArchive.bin. This will be present if a Learn had occurred in the past.
It contains all the elements that are to be monitored. If this file exists, it will load it and begin
operation. The next step will be skipped. Otherwise it will initiate a Learn operation
3) Learn Mode: This will be executed upon startup if the c:\Remote\LearnArchive.bin file does not
exist, or in response to a Learn button left-click. The sequence consists of the following:
a) Read the network.ini file to get the network switch information.
b) Interrogate the maxSTATIONs contained in the wks.ini file to determine what processes are
running.
c) Read the DPUList.ini and SimDPUList.ini files from each of the maxSTATIONs contained in the
wks.ini. An aggregate file will be generated and stored in the C:\Remote\ folder. These files are
for reference purposes only.
d) Query each of the maxTOOLS DBM Configurations that were identified in the monitor.ini file.
This identifies the MAX Data Highway components to be monitored: DBMs, Controller files,
DPU3s, DPU4s, DPU4As and DPU4Bs to be monitored.
e) Update the Left panel tree of the Monitor Dialog.
f) Update the maxSTORIAN configuration.
g) Regenerate the History/Report Server Point Group mdb files.
h) Produce a master list of the data elements and their corresponding data items.
i) Collect the ini files (*.ini) from the \Custom\Sbp, \Custom\Database and Mcs\Sbp folders of each
of the maxSTATIONs listed in the wks.ini file.
j) Save the new Learned information in c:\Remote\LearnedArchive.bin.
k) Save a summary text file of the learned information in c:\Remote\Learned.txt.

Metso Automation.

maxDNA maxRPM Users Guide

Following initialization, the maxRPM Server will periodically read the value of each data item. If
statistics for an item are to be saved, the new value will be used to re-compute the selected statistic. The
periodicity is determined by a configuration parameter that defaults to 30 seconds. Re-learn should be
executed whenever the target system changes. For example, the addition or deletion of hardware
(maxSTATIONs, DPUs, network Switches) or Metso Automation software (i.e. maxSTORIAN, Event
Server\Collector).
The Event Trigger will also start up automatically. Its initialization consists of reading its ini file,
Trigger.ini. The ini file defines conditions, via C++ type expressions, whose TRUE state will result in the
action specified for that condition. The action can be an Event (with a specific type and severity), an
Alarm or both. The ini file also includes a LATCH n command. This command causes a certain delay,
in units of seconds, to occur before a value can change states. For instance, if n is set to five and one of
the trigger values goes to true, it must be true for at least five seconds before it can go back to false. This
prevents values that are chattering from generating bursts of events.
In the final step of initialization the Event Trigger will subscribe via the Metso Automation Software
Backplane to the maxRPM Server for values it needs to compute the individual triggers. The parameters
of the subscription are relatively slow: the Event Trigger does not want value updates any faster than once
every 30 seconds (minTime), but requires one at least once per minute (maxTime).
Following initialization, whenever a value changes, Event Trigger will re-compute each trigger that uses
that particular value. For a trigger value, if a transition from FALSE to TRUE occurs and remains TRUE
for at least LATCH n seconds, the action will be taken (i.e. the event or alarm will be generated).
Subsequently, when a TRUE to FALSE transition occurs, and remains FALSE for at least LATCH n
seconds, the trigger condition is considered cleared. The action will reoccur when the condition again
transitions from FALSE to TRUE for at least LATCH n seconds.

Metso Automation.

maxDNA maxRPM Users Guide

File Browser
Upload files containing static data such
as ini files
Monitor Client
(via maxVUE)
User Interface has the
same Look & Feel as
the Monitor

Quicklog\EventQuery\EventQuerySQL
Submit queries to sysEvents

Remote maxVUE
Generate Trends Displays
reports from the
maxSTORIAN running in the

McsCheckRev (On demand)

RMM Server

maxCONNECT/RemoteSbp
(existing)

Analyzer (Win 2000)

Dialup phone

RmmServer (Win 2K))


Standard maxSTATION
(maxRRS, maxLSS,
maxTRANSPORT) plus
Monitor Applications)

maxReportServer
Request reports from the
maxSTORIAN running in the
RMM Server

Remote Server (existing)


Monitors the dialup connections

connection
EventServer

Event Trigger
File Browser
Upload files containing static data such
as ini files

RmmEvent

Collector

maxSTORIAN
Subscribes to Monitor
for all data

Customers Event Servers

Display showing the


elements being monitored
(i.e. maxSTATIONs, DPU,
etc) , their corresponding
data items, and the current
values.

Remote Maintenance
Monitor

HistoryReport
Server

Report Files

maxNET
maxSTATIONs

DPU4Es

maxSTORIANs

Network

Event
maxLINKS
9

DBMs, DPUs
Controller
DPU Bus

Metso Automation.

maxDNA maxRPM Users Guide

Getting Started

4.1

Target System Preparation

In order for the maxRPM Server to be able to monitor a system, some changes must be made to the
maxSTATIONs of that system. This section describes each change that is required.

4.1.1

System Wide Wks.ini

The system wide Wks.ini file must be modified to add the RPM Server, and re-copied to all the
maxSTATIONs in the target system. Use the Metso Automation Domain Configurator utility to make
these modifications:
NOTE: Domains, and the use of the Domain Configurator, are described in Publication 277609,
System Resources Users Guide.

Add the maxRPM Server to the station list.

Provide the maxRPM Server access to all the domains in the target system. This is required in
order to read information from the maxSTATIONs and DPU4Es.

The procedure for making the change is as follows:

Logon at a maxSTATION in the target system as a user with administrative privileges.

Start the Domain Configurator which is located in the MAX Administrator Tools Program Group.

Click on the workstation tab of the Domain Configurator. Fill in the name and station number of the
maxRPM Server workstation. The name is the same name configured under Identification in
Networks in Control Panel. The station number is the last octet of the IP address of that
maxSTATION (example: if stations IP address is 1.72.16.160.20, then enter 20 in the Station
Number). Note: Although the maxRPM Server itself may not be configured with its name and IP
Address at this time, the installer should know these values. The Run Proxy checkbox must be
unchecked.

Add the maxRPM Server station to each of the domains using the Domain and Access List Box. In
general, the Access type for each domain should be D (Direct Read\Write Access to the DPU4Es in
that domain). Having Write access may appear to compromise the security of the target system,
leaving it vulnerable to writes that may effect the process it is controlling. However having Direct
Access by itself will not automatically allow Writes. The Log In Security Level of the RPMEngineer
at the maxRPM Server will be 0 which effectively disallows any writes. If the customer objects to
the Direct Access he can set up maxSTATIONs in each Domain to act as Proxy servers for other
domains, and set the maxRPM Servers Access type into those domains to R (Proxied Read Only
Access to the domain). Note: In the latter case all maxSTATIONs set in the target system will also
have to be members of the RPM domain.

Click on the Check and Save button. This performs a check of the entries that you have made to
date, and then updates the wks.ini file. This file is located in c:\custom\database\wks.ini and must be
10

Metso Automation.

maxDNA maxRPM Users Guide

copied to the same directory in each maxSTATION that was entered in the configuration. Then click
Exit and Save.

Copy the new Wks.ini file to each of the maxSTATIONs in the target system. In order to make the
new file effective, restart or perform a logoff / logon at each maxSTATION.

4.1.2

Adding a new Windows User Logon

To collect Windows performance statistics from maxSTATIONs in the target system, the maxRPM Server
must establish a connection to each of them. The connection request that the maxRPM Server sends
consists of the UserName|Password of its currently logged on user. This must match a valid (but not
necessarily the currently logged on) UserName|Password on the target maxSTATION. Metso Automation
customers are not required to have a default UserName|Password; and those that do, may not want to
include it at the maxRPM Server. Therefore a new one must be added to the maxRPM Server and each
maxSTATION for this purpose. In addition the customer knowing what this new UserName|Password is,
the Metso Automation Personnel dialing into the maxRPM Server must also know it. Therefore, to
prevent inadvertent dial in, it must be unique to each customer. The following procedure will be
performed at each maxSTATION, including the maxRPM Server.
For Windows 2000 maxSTATIONs:
1. Login as user Administrator or any other user that was granted administrator privileges.
2. Click on the Windows 2000 Start button, select Settings, Control Panel. Select Administrative Tools,
select Computer Management then System Tools.
3. Expand System Tools then expand Local Users and Groups. Right Click on Users. Add new user.
Fill in the New User popup as follows:
Username: RPMEngineer
Full Name: RPMEngineer
Description: Metso Automation RPMEngineer Account
Password: rpmeng (substitute your own password as needed)
Confirm Password: rpmeng (or yours)
User Must Change Password at Next Logon: (NOT checked)
User Cannot Change Password: (checked)
Password Never Expires: (checked)
Account Disabled: (NOT checked)
Click the CREATE button.
Now click the close button to return to the Computer Management window. The RPMEngineer
should now be listed with the other users in the right window.
4. Make the RPMEngineer a member of the Users, Engineers, and Power Users groups:
Double click on RPMEngineer from the list of Users. The RPMEngineer Properties window
will appear.
Left click on the Member Of tab.
Left click on the Add button. The Select Groups window will appear.
Left click on Engineers from the top pane then left click on the Add button. Engineer

11

Metso Automation.

maxDNA maxRPM Users Guide

should appear in the bottom pane.


Repeat the step above for both the Users and Power Users groups..
Left click the OK button to close the Select Groups window then OK to close the
RPMEngineer Properties window.
Lastly, close the Computer Management and Administrative Tools windows.

For Windows NT maxSTATIONs:


1. Login as user Administrator or any other user that was granted administrator privileges.
2. Click on the Windows NT Start button, select Programs, select Administrative Tools (Common),
and then User Manager to open a User Manager window. The top pane shows the Users and the
bottom pane shows the Groups.
3. On the User Manager menu, click User, and then New User to view the New User popup. Fill in
the New User popup as follows:
Username: RPMEngineer
Full Name: RPMEngineer
Description: Metso Automation RPMEngineer Account
Password: rpmeng (substitute your own password as needed)
Confirm Password: rpmeng (or yours)
User Must Change Password at Next Logon: (NOT checked)
User Cannot Change Password: (checked)
Password Never Expires: (checked)
Account Disabled: (NOT checked)
Now click the OK button to create the account. RPMEngineer should appear in the list of Users.
4. Make the RPMEngineer a member of the Users, Engineers and Power Users groups:
Double click on RPMEngineer from the list of Users. The User Properties window will
appear.
Left click on the Groups button. The Group Membership window will appear.
If the Member Of list does not contain Users then left click on Users from the Not
Member Of list, then left click the Add button. Users will now appear in the Member Of
list.
Repeat the step above for both the Engineers and Power Users groups.
Left click the OK button to close the Group Membership window then OK to close the User
Properties window.
Lastly, close the User Management window.

4.1.3

Enabling the Windows Disk Performance statistics

The Performance Monitor counters for disk monitoring are turned off by default because they slightly
diminish Windows performance. The Performance Monitor should be turned off when you are not
specifically monitoring disk performance. The Performance Monitor counters indicate the number and
size of reads and writes that are being generated for a particular disk. They also show the percentage of
time your application spends accessing a particular disk or disk strip set, as well as other information.

12

Metso Automation.

maxDNA maxRPM Users Guide

To turn on disk performance monitoring, type diskperf -y at a command prompt and restart the computer.
This will remain in effect following subsequent restarts.

4.1.4

Security For Windows Performance Statistics

See appendix A for the procedure to enable the collection of Windows performance statistics. This step is
not usually required if a maxSTATION is running Windows NT.

4.2

maxSTATION for maxRPMServer

4.2.1

Requirements:

The maxSTATION on which the maxRPM server software is to be installed must be at Release
3.0 or later.

A special dongle with the Monitor bit enabled is required.

The target system must be at the maxDNA Revision 2.0 or greater; the RPM cannot be run in a
maxSTATION version 1.x system.

A modem and phone line to permit remote dial-in.

4.2.2

maxSTATION Installation

Install the maxSTATION from the CD per the instructions included on it. Pay special attention to the
following items:

The NIC cards must be set up according to Ethernet switch to which they are to be connected:
Duplex (normally Full) and speed (10 | 100 Mbit/sec).

The IP address for Net A and B must be 172.[16 | 17].160.xx, where xx does not conflict with an
existing maxSTATION on the target system.

Change the passwords of the Engineer and Operator user accounts so that they are not the
defaults; this is for your protection from hackers. Perform the procedure in the section above
titled Adding A New Windows User Logon.

Instead of following the instructions for creating the wks.ini file, simply copy the system-wide
version, as modified in the section titled System Wide WKS.ini.

After the maxSTATION Software has been installed, log on as Administrator and perform the following:
Perform the procedures in the sections titled Enabling the Windows Disk Performance statistics
and Security for Windows Performance Statistics.

13

Metso Automation.

4.2.3

maxDNA maxRPM Users Guide

Run c:\MCS\Setup\MCSSecurityEdit.exe.
Set the Default Login Security Level for Engineer, Operator, and RPMEngineer to 0. This
will prevent inadvertent writes to the target system.

maxRPMServer Software Installation

The maxRPM server is contained on the maxDNA Installation CD and is installed using the following
procedure:
1)
2)
3)
4)
5)
6)
7)

Log on as Administrator
Insert the maxDNA CD into the CD ROM reader.
Open the Windows Explorer
Navigate to the \RPM directory on the Release CD.
Double click on the file RemotePerformanceMonitor.exe
Select the Repair option from the Install Shield Wizard dialog.
Click on the Next button. Installation will run to completion.

The Installation process will create and populate the folders c:\MCS\maxRPM and c:\Remote. It will also
place another icon for maxSTARTUP on the desktop. The new icon will include the text RPM and will
be labeled Remote Monitor Startup

4.2.4

Configuration

This step includes configuring not only the processes specific to the maxRPM Server but also the
standard maxSTATION processes that support the maxRPM.
4.2.4.1

maxSTATION Startup

If the maxSTATION on which the RPM is installed is to be used solely for RPM Server then, for
convenience, you should remove the original maxSTATION Startup from the Windows Startup menu.
Optionally, you may add the RPM startup icon. Use the following procedure to make these changes:
1)
2)
3)
4)
5)
6)

Log On as Engineer
If the maxSTATION Startup begins to run, stop and close it.
Right-click on the RPMStartup icon and select Copy.
On the Windows status bar right-click on Start then left-click on Open all Users.
Double left-click on Programs then from the next screen Startup.
If you want to add the RPM Startup icon press CTRL and v buttons simultaneously. The RPMStartup
entry will appear.
7) To delete the original maxSTATION startup, right click on it; then select Delete.
8) Close all the windows. This change will take effect the next time Windows is started.
4.2.4.2

Monitor.ini

At a minimum, the following lines must be edited in c:\Custom\sbp\Monitor.ini. This file is a simple text
file that can be viewed using Notepad.exe. The fields to be edited can be found by searching for
Required.
14

Metso Automation.

maxDNA maxRPM Users Guide

Path wks = <path to the system wide wks.ini>


for example:
Path wks = "C:\Custom\Database\wks.ini"
Path mdb = < path to a DBM based configuration>; There can be as many of these as required.
for example:
Path mdb = "\\Validat1\CUSTOM\Database\zone1\Zone1.mdb"
use <name of the maxSTORIAN on the RPM Server>
for example:
use "[RPMServer]_mxsRPM"
4.2.4.3

Network.ini

If the network switches in the target system are either Series Cisco1900 or Cisco2924, then edit the
c:\Custom\Database\Network.ini file with the required information. The format is shown below.
The network IP address is given first, in brackets, followed by the name that the device will be known by.
The next field, which is separated by a space from the device name, is the device type. Currently the
supported devices are the Cisco1900 and the Cisco2900.
The next field is <numberOfPorts>, which is separated by a space from the device type. This field is
optional. It contains the actual number of ports a particular switch has, which may be less than the
maximum for that model. If no value is entered the maximum number is used. If the actual number of
ports is less than the maximum, entering the actual number will make the monitor more efficient since it
will not attempt to maintain historical data or trigger events for non-existent ports.
; [network IP address]<devicename> <device type> <numberOfPorts>
;
; A sample entry:
;[172.17.4.200]cisco2900_1 cisco2900 12
4.2.4.4

maxSTORIAN

In order to collect historical data, the maxSTORIAN must be configured to run on the RPM Server.
Configure it as standalone. Use the default name _mxsRPM unless it conflicts with an existing
maxSTORIAN in the target system. The following are excerpts from the pertinent ini files:
C:\Mcs\maxRPM\RPMStartup.ini:
; The following lines startup the maxSTORIAN. It requires special dongle
licensing.
;
1, C:\MCS\SBP\MINICONF.EXE, MiniConf,
c:\MxsStorageRoom\Configurations\LSSaddSvc.txt
5, c:\mcs\history\maxSTORIAN.exe, maxSTORIAN, _mxsRPM

15

Metso Automation.

maxDNA maxRPM Users Guide

;
w, C:\MCS\SBP\MINICONF.EXE, MiniConf,
c:\MxsStorageRoom\Configurations\StandAlone.txt

C:\ MxsStorageRoom\Configurations\LSSaddsvc.txt:
_LSS.DEFAULT_STORIAN
_LSS.DEFAULT_TREND

PCHAR
PCHAR

_MXSRPM
_MXSRPM_TREND

C:\ MxsStorageRoom\Configurations\StandAlone.txt:
[]_MXSRPM.BEHAVIOUR
[]_MXSRPM.OTHER_MACHINE

4.2.4.5

PCHAR ALONE
PCHAR CICCIO

EventCollector

Edit c:\Custom\sbp\EvtColl.ini and uncomment the following lines:


SERVICE = _lss
SERVICE = _RPM_EVT_COL_SERVER
CURRMDBONLY = NO

4.2.4.6

EventServer

If you added a domain to be shared only among your maxSTATIONs and the RPM Server, edit
c:\Custom\sbp\EvtServer.ini and add the following line:
domain rpm-domain-number
where rpm-domain-number is the domain number just for the RPMs use that was added to the wks.ini.
Since this maxRPM Server is the only maxSTATION in domain RPM, its Event Logger will be the only
one to get events from this Event Server.
4.2.4.7 EventLogger:
The C:\Mcs\maxRPM\RPMStartup.ini contains the following entry for the starting the Event Logger:
1, c:\MCS\Sbp\EvtLogger.exe,
_EVTLOGGER_RPM - EvtLogger.ini, /EvtLogger.ini
Verify that _EVTLOGGER_RPM is not the name of an Event Logger in the target system. If so, edit this
file and change the name.
The C:\Custom\sbp\EventLogger.ini will also have to be edited so that it contains the same name that is
used in C:\Mcs\maxRPM\RPMStartup.ini. The line to be edited is as follows:
EventLoggerName=_EvtLogger
Replace _EvtLogger with the actual name. Note: this edit is required regardless of whether the name
was changed in C:\Mcs\maxRPM\RPMStartup.ini.
4.2.4.8

Remote Server

16

Metso Automation.

maxDNA maxRPM Users Guide

If the maxRPM Server will be accessed via modem then configure the Remote Server per the Remote
maxVUE Users Guide. Be sure to edit the c:\Custom\Sbp\Remote.ini file to contain an entry for
Customer Care maxSTATION that will be dialing into the server. This entry must allow writes for at least
Security Level 1. If not, the Learn button will not be functional from Monitor Client sites.
4.2.4.9 DPUList.ini \ SimDPUList.ini
The RPMServer Station must have the files DPUList.ini and SimDPUList.ini in the folder
c:\Custom\Database. Their formats are the same as they would be on any other maxSTATION. Their
contents would include the DPU4Es and Virtual DPU4Es that are to be monitored by the maxRPM
Server. The user can create the initial copy of these files in the same way they were created in the target
system. In order to facilitate this process, the Learn process of the maxRPM Server will compile an
aggregate DPUList.ini and SimDPUList.ini from all the maxSTATIONs in its wks.ini. They are stored in
c:\Remote as LearnedDPUList.ini and LearnedSimDPUList.ini respectively. The maxRPM Server does
not use these files; they are for reference only. Remember that the Learn will occur automatically the
first time maxRPM Server is executed, and upon request by clicking the Learn button. The initial copy
of the actual DPUList.ini and SimDPUList.ini, these Learned files can be made by copying these files
to c:\Custom\Database, renaming and then editing them to contain only the DPUs of interest. The
maxRPM Server should be restarted to insure all processes that use these files re-read the updated
versions.
Following a subsequent Learn, the new learned files should be compared to the actual files. Then edit
the actual files to reflect any changes of interest that have occurred. If edits are made another restart will
be required.
Note: there are many programs, not just the maxRPM Server, that read the c:\Custom\database\ DPUList
and SimDPUList. Examples are maxTRANSPORT and Healthlog. Most of the programs read these files
only during startup. Therefore, if these files change, it is necessary for the maxRPM Server maxSTATION
to be stopped and restarted in order for the changes to take effect.
4.2.4.10 RPMStartup.ini
If the type of the target system is DPU4E Only (there are no DBMs), edit the RPM Startup.ini and
comment out the entry for the RealTimeGateway. It should appear as follows:
;0, c:\MCS\Sbp\RealTimeGateway.exe, MCS Real Time Gateway,

/SECURITY

4.2.4.11 History Reports Package


Note: Details on this package are contained in Publication 277583, History Reports Users Guide.
The Metso Automation History Reports package may be used as a means to review and analyze data
collected by the Monitor Server. The user, generally a Customer Care Engineer, may configure the
History Reports package to generate the appropriate reports. In order to facilitate the report definitions,
Monitor Server will, as part of its Learn mode, create point group databases and place them in the
c:\Custom\Report\PointGroups folder. A single point group database file (.mdb) will be created for each
pointgroup command found in the monitor.ini file. Details regarding this command can be found in the
section titled Monitor.ini.

17

Metso Automation.

maxDNA maxRPM Users Guide

4.2.4.12 Setting the Share Property of C:\Remote


This folder contains the *.ini files copied buy the maxRPMServer from the other maxSTATIONs. If the
maxRPM Server is to be accessed via a dial in connection then this folders share property will have to be
changed to allow Read access from another PC.

Open the Windows Explorer.


Right-click on the folder c:\Remote
Left-click on Sharing
Left-click on the radio button Share this folder
Left-click the Permissions button.
From the Name list box left-click on Everyone
From the Permissions list box:
deselect Full Control and Change
select Read
Left-click the Apply button.
Left-click the Ok button.

4.3

Ethernet Switches

Each of the Cisco Ethernet switches included in the network.ini file must be configured to allow the
maxRPM Server to read its SNMP statistics. This requires setting of the SNMP Community Read
String (a sort of password) to the value used in read requests from the maxRPM Server. The value is
sysadm. Use this procedure to set the Read Community String:
1)
2)
3)
4)
5)

From a maxSTATION on maxNET, double click on Internet Explorer icon on the desktop.
Type in the IP address of the Ethernet Switch in the Address box.
Enter the Username and Password. They are usually Admin and sysadm respectively.
From the menu select SNMP.
In the field labeled Read Community String enter sysadm. Note: Some versions of the Cisco
Ethernet switch allow only a single entry and others allow up to four.
6) Left click on Apply.
7) Close Internet Explorer.

4.4

maxRPM Client

4.4.1

System Requirements

The maxSTATION for the maxRPM Client must be at Revision 3.0 or greater and contain an
Engineering Dongle.

A modem and phone line.

18

Metso Automation.

4.4.2

maxDNA maxRPM Users Guide

Installation

Follow the maxDNA CD Installation procedures. When the Install Wizard displays the dialog with the
choice Remote or Local, select Remote.
The software for the maxRPM Client is installed as part of the standard maxDNA Installation. No
additional installation is required.

4.4.3

Configuration

4.4.3.1 maxRPM Client


There is no special configuration for the maxRPM Client software.
4.4.3.2

Remote maxVUE

Since the access to maxRPMServer by the maxRPMClient is via a dial up connection, please configure
this maxSTATION per the Remote maxVUE Users Guide. This must include creating a dialup
connection to the target systems maxRPMServer.
4.4.3.3

Default Trend Source

The maxVUE displays for the Remote Performance Monitor include Trends of data retrieved from the
maxSTORIAN running on the maxRPMServer. The client must be configured with the name of that
maxSTORIAN.
Execute c:\mcs\setup\mcsRegedit.exe.
Left-click o the Machine Settings tab.
Expand the Max Controls Inc node
Scroll down to, and then left-click on Default Trend Source
In the edit box enter _MXSRPM_TREND
4.4.3.4

Default maxSTORIAN

If the RPM Client is to be used to view the RPM Servers maxSTORIAN data, then the RPMClients
default maxSTORIAN value used by LSS must be set up with the name of that maxSTORIAN (the
Default Trend Source is stored in the Registry, but the Default maxSTORIAN is not).
Execute c:\mcs\sbp\TestSbp.exe
Select the Operation to write.
Select the Write Type as string.
For the Point Identifier, type in _lss.default_storian without the quotes.
For the Value, type in the name of the RPM Servers maxSTORIAN (normally _mxsRPM).
Push the Apply button to complete the write action.

19

Metso Automation.

5
5.1

maxDNA maxRPM Users Guide

Starting the maxRPM Server


Manually starting the RPM Server

Use the RPMEngineer and password to logon to the maxRPM Server.


The installation of the maxRPM included copying a special version of Startup.ini, and placing a modified
version of the maxSTATION Startup icon on the desktop. If maxSTARTUP was not in the Windows
Startup menu then, to start the maxSTATION for monitoring, double click on the desktop icon that is
labeled Remote Monitor Startup. It looks like the standard maxSTATION startup icon except that it
contains RPM. It will use c:\MCS\maxRPM\RPMStartup.ini instead of the standard
c:\MCS\Sbp\Startup.ini. Also note that the c:\Custom\Sbp\Startup.ini file will not be used.
The RPM Server is now active as the process named Monitor.exe in the desktop Tray. To verify that RPM
Server is collecting data click on the Information button to view the actual points being monitored.
Verify that the maxRPM Server maxSTORIAN contains a non-zero point count by looking at the
maxSTORIAN window.

5.2

Enabling RPMEngineer as the default Login

The user RPMEngineer should be set up as the default login so that, if there is a power failure, when
power is reapplied to the RPM Server, the RPM Server will be automatically logged in and started
without user intervention.
Log in as Administrator.
Select Start|Programs|MAX Administrative Tools|SetAutoLogon.
Enter the supervisor password.
Click on the EnableAutoLogon checkbox.
Enter the Operators Username as RPMEngineer.
Enter the Operators Password as the password you have decided to use.

20

Metso Automation.

6
6.1

maxDNA maxRPM Users Guide

User Interface
maxRPM Server

The maxRPM Server normally runs minimized on the Windows Task bar tray. Left clicking on it will
present the Dialog box shown below.
The left panel contains a hierarchical set of folders. The top level shows the major groups of elements
being monitored as defined by the monitor.ini file. Left clicking on a group will expand it to show the
elements of that group. Select an element by left clicking on it. The data items that are being collected for
that element will be shown in the right panel. The right panel will be updated once per minute with the
data items current values and statistics. The Value column contains the most current value of the element.
The Subs column contains the count of the outstanding SBP subscriptions to that data items value from
other programs such as maxSTORIAN or Event Trigger. The Quality column indicates the quality of
current value. It will be one of the following:
Good
Good (Forced)
"Substitute"
"Not Known"
"Bad"
"No Value"

The current value was acquired without errors.


The data item is in Manual mode and the Value and Quality have been forced
to Good.
The data item is in Simulation mode and the user has entered a static value.
Data did not come with quality.
Has probably invalid value
The attempt to acquire the current value resulted in errors.

The remaining columns are associated with statistics. These are explained in the next section.
The bottom panel will contain the help file text for the selected item if it is available.
If the monitor cannot acquire the data for an element, that elements folder icon and all those above it in
the hierarchy will contain a red exclamation mark to indicate an error condition.
Clicking the Learn button will cause maxRPMServer to perform the process outlined in the Overview
section. While in this mode the Learn button will be disabled and its text will read Learning instead of
Learn. Learn mode can also be initiated from the maxRPM Client on another maxSTATION. When this
occurs this button will again be disabled and its text will read Learning Also note that during startup of
the maxRPM Server, during the read of the LearnArchive.bin file the button will be disabled and its text
will read Loading.

21

Metso Automation.

maxDNA maxRPM Users Guide

Figure 1: maxRPM Server Main Window

Left clicking on the Information button will pop up the second dialog shown below. The top portion
shows information regarding the state of the maxRPM Server itself. The bottom portion contains a list
box showing the connection status of every item of the Monitor that is being subscribed to by other
programs, typically the maxSTORIAN.

22

Metso Automation.

maxDNA maxRPM Users Guide

Figure 2: maxRPM Server Information Window


Server Stats:
Subscriptions: The number of current active subscriptions from other clients. This matches the number
of entries in the Subscriptions box. Note that, in general, the subscriptions are from the maxSTORIAN.
The maxRPM Server builds maxSTORIAN configuration from the Subscribe entries in the monitor.ini
file.
Services: This is the total number of data items that the Monitor is watching.
Displays: Not currently used.
Orphans: Represents the current number of subscription requests for item that cannot be acquired by the
Monitor; for instance, an attribute of a DPU that is not online.
Bad Services: Not currently used.
Stat Points: The monitor.ini files Sample template determines for which data items the Monitor Server
is to calculate statistics. This number indicates the actual number of data points.
Updates: This counter is incremented each time the maxRPM Server acquires a new value for a data
item.
Configuration Memory: The number of data bytes used by maxRPM Server. This includes the internal
Learn database, history statistics, current values, etc.

23

Metso Automation.

maxDNA maxRPM Users Guide

Reads: The number of read requests to the maxRPM Server from clients such as the Trigger.
Subscribes: Total number of subscription requests that have occurred since maxRPM Server was started.

6.1.1

Statistics Maintained By maxRPM Server

In Figure 1 above, the right panel contains the current value and statistics of the data items for the element
selected from the left panel. The Value column will be other than dashed (-----) as long as maxRPM
Server was able to acquire the current value. The remaining columns are statistics calculated by the
maxRPM Server. They are not to be confused with the statistics maintained by the maxSTORIAN. By
default, maxRPM Server does not calculate and maintain statistics for most data items. For these items,
the values in the statistics columns will be dashed (-----). The sample commands within
c:\custom\sbp\monitor.ini identify to maxRPM Server the data elements for which it is to maintain
statistics. For instance, the following command will cause the maxRPM Server to maintain statistics for
the Percentage of Free Space on the Logical Disk of each maxSTATION in the wks.ini file:
wks.sample ("LogicalDisk", "PctFreeSpace")
The set of statistics that are calculated is fixed. The columns in the right panel of Figure 1 following
Value are the statistics; they are defined in the table below.
Average
Minimum Value
Maximum Value
Standard Deviation
Deviation
Count

Sum of the sample values / Number of samples


The minimum value of the samples collected.
The maximum value of the samples collected.
Square Root (Absolute Value (Sum of (Sample Value Avg)2 \ # Samples ) )
The number of standard deviations the current value
The number of samples stored for this data item.

The following is a summary of the how the maxRPM Server collects statistics:

The Sample Freq and Sample Max commands of the Monitor.ini file define respectively, how
often to collect samples, to compute statistics, and how many samples to store.

The frequency (Freq) controls how many update cycles should be accumulated before writing a
sample to memory. This works hand and hand with the Update command. If the frequency is set to
one, then a sample will be recorded every update cycle. If it is two, then two samples will be added
together and averaged to represent that interval of time, instead of recording both of those samples
individually. Thus, even if every sample isnt recorded verbatim, none of them are ignored, even if the
sample speed is less than the update speed.

The Max value sets the maximum number of samples to store. Once this maximum has been
reached, the oldest sample will be overwritten.

A statistic for a data item will not be computed until at least 50% of the Max samples are available.
Prior to the time it takes to accumulate this number of samples, the statistic values will be dashed
(-----). For instance if the Update = 1 (minute), SampleFreq = 4 and SampleMax=1000 then
500 samples must be available before the statistics are computed. This would take
(Update* SampleFreq) * (SampleMax * 0.5) = (1 * 4) * (1000 * 0.5) = 2000 minutes
The statistics are held in memory, so they will not survive a maxRPM restart.

24

Metso Automation.

6.2

maxDNA maxRPM Users Guide

Event Trigger

The EventTrigger provides the User Interface shown below. The list box contains a row for each
condition defined in the Trigger.ini file. The Tag, Type, Message, Severity and Export fields
come directly from the Trigger.ini file.
The Code indicates whether that conditions expression statement was valid (i.e. parsed properly by
EventTrigger.exe). If the field does not say Syntax Correct then the Trigger.ini file entry for that
condition must be edited. Since C:\Mcs\maxRPM\EventTrigger.exe only reads the Trigger.ini file during
startup, it will have to be stopped and restarted.
The Quality field indicated the quality of the values used in the most recent computation. It reflects the
lowest quality of all the values that were used.
The Status field indicates whether the expression evaluated to True or False as of the last computation.
This field will be blank if the Quality field is No Value.

6.3
6.3.1

maxRPM Client
Establishing a Connection to a maxRPM Server

Typically the maxRPM Client maxSTATION is located at a Customer Care facility. This maxSTATION
has been configured to run Remote maxVUE. The user connects to the maxRPM Server by running
maxCONNECT and selecting the appropriate entry in the maxCONNECT list box. Refer to the Remote
maxVUE Users Guide on the use of this program. Once a connection has been established run
maxVUERuntime.exe.

6.3.2

Remote maxVUE

The maxRPM Clients User Interface is provided for the most part through maxVUE displays. The
display C:\MCS\Displays\Mn\RemotePerformanceMonitor\RPMClient.mn contains a dialog box that is
similar in look and feel to the maxRPM Server Dialog box. The instance of the
MCS_MAXVUE_RMMClient.ocx contained on that display generates the dialog box. There is no direct

25

Metso Automation.

maxDNA maxRPM Users Guide

navigation to this display. It is up to the user (i.e. Customer Care) to add a button to one of a customers
existing displays to allow selection of this display.
The display is shown below. All the items that are in common with the maxRPM Server display also
function the same way. Refer to the maxRPM Server User Interface for the behavior of the Learn button
The Connect and Disconnect buttons and the edit box next to them are new. In order to connect to a
server, the user first enters its name in the brackets shown in the edit box. This must correspond to the
maxRPM Server name currently connected via maxCONNECT. Next, click on the Connect button. At
that point the display will upload the information from the maxRPM Server and build the left panel that
contains the data elements. The left panel behaves exactly like the maxRPM Servers dialog. If, while a
connection to a maxRPM Server exists, the user swaps to another display and subsequently to this
display, it is not necessary to reconnect (i.e. click the Connect button) to the maxRPM Server.
Clicking the Disconnect button will cause the display to close the sbp connection to the current server
and blank the display.

26

Metso Automation.

6.3.3

Viewing Trend Data

6.3.4

Viewing Reports

maxDNA maxRPM Users Guide

The reports generated by the History Reports package may be viewed via maxVUE as described in
Chapter 6 of Publication 277583, History Reports Users Guide.

6.3.5

Viewing Event Data:

In general, any of the means available in a standard maxSTATION for viewing Events can be used to
view the events generated by the maxRPM Server. These are detailed in Publication 277594,
maxSTATION Auxiliary Functions Users Guide, Chapter 2: Collecting and Viewing Events Data Using
the Events Package. The most common method is the Event Logger, which is always running on the
maxRPM Server. Other methods are EventQuery.exe and EventQuerySQL.exe that run on demand, via a
maxVUE display containing the EventQuery OCX, or via the Event Summary display.
The Event data that are collected at the maxRPM Server Station includes the following:
Events generated by the Event Trigger program.
Events collected from the maxLSS programs running at maxSTATION in the target system.
System Events collected from the various Event Servers running in the target system.
Note: the Event package filters out duplicate event that may come from latter two sources.

27

Metso Automation.

6.3.6

maxDNA maxRPM Users Guide

Viewing maxSTATION Configuration Files

During its Learn mode the maxRPM Server copies the ini (*.ini) files from each of the target systems
maxSTATIONs and stores them on the RMM Server maxSTATION. This provides Customer Care the
means to view these files in the event the customer reports a problem that may be related to configuration.
The directory <Monitor_Server_Name>\Remote\Configurations\ contains a subfolder named for each
maxSTATION. This subfolder in turn contains three subfolders: \Custom_Sbp\, Custom_Database,
and \Mcs_Sbp\. These subfolders contain the copies of all the ini files (*.ini) found in that
maxSTATIONs c:\Mcs\sbp\ and c:\Custom\Sbp folders respectively. Since they are text files, they can be
viewed using any text editor. Left double clicking on a file from Windows Explorer will launch Notepad
with the file.
Note: The maxRPMServer will most likely not appear in the left pane of the Explorer window. However,
you may use either of the following methods to navigate to it:
Map Network Drive:
From the Explorer select Tools \ Map Network Drive
From the Map Network Drive dialog box selects a drive letter. In the Folder edit box enter
\\maxRPMServer\Remote
Execute Run Command:
Left click on the Start button on the Task Bar.
Left click on Run.
In the Open edit box of the Run window enter \\maxRPMServer\Remote

6.4

maxSTORIAN:

The maxSTORIAN utility mxsDial (the maxSTORIAN Control Panel) can be used to view the status of
items being collected by the maxSTORIAN from the maxRPM Server via the Software Backplane (Sbp).
It can also be used to view, in tabular form, the historical data for each point. Refer to Publication 277622,
maxSTORIAN Users Guide, for details on the use of mxsDial.
Note that a status of SbpOK indicates that the Sbp Subscription between the maxSTORIAN and the
maxRPM Server is working for that particular item. It does not necessarily mean that the quality of the
data being received from that item is good. For instance, suppose that the maxRPM Server is to monitor a
performance statistic from each workstation in the wks.ini file. If a particular maxSTATION were not
online, the maxRPM Server would not be able to acquire the performance statistic. In this case the status
of the SbpSubscription from the maxSTORIAN to the maxRPM Server would still be SbpOK, which
means that the maxRPM Server would still provide regular data updates. However the Quality indicator
of the data update would read No Value.

28

Metso Automation.

7
7.1

maxDNA maxRPM Users Guide

What the Numbers Mean


maxSTATION Performance Statistics

LogicalDisk. %FreeSpace: Higher is better. Recommended is > 10%.


Memory.CommittedBytes: Lower is better. If the value is consistently less than the amount of physical
RAM then more RAM is not needed. If the value is consistently more than twice than twice than the
amount of Physical RAM and the system is paging frequently, then more RAM will provide better
performance.
Process.VirtualBytes : Lower is better. A steady climb may represent a memory leak. Monitor this over a
long period of time since a program may have one-shot increases due to temporary conditions.
Processor.%ProcessorTime: Lower is better. Expressed as a percentage of the elapsed time that the
microprocessor has been executing a non-idle thread. Recommended range is < 50%. This is a good
indicator of the demand for, and the efficiency of, the microprocessor.
System.%TotalProcessorTime: Lower is better. Average usage of all programs in a maxSTATION.

29

Metso Automation.

maxDNA maxRPM Users Guide

Trigger.ini

Trigger.ini is the means by which the trigger program is programmed to search for certain conditions and
then to generate either an alarm or an event or both when any condition is met.

8.1

Latch Command

LATCH n
This command will cause a certain delay to occur before a value can change states. If n is set to five and
one of the trigger values goes true, it must be true for at least five seconds before it can go back to false.
This prevents values that may oscillate from generating too many events.

8.2

Enum Command

enum <name> = {<Item>, <Item>. }


This command is used to specify a list of values that are all to be substituted for an enumerated symbol in
a subscription line. The enumeration is given a name, and is then assigned a list of strings that are to be
substituted for that name. Subscribe lines will then produce subscriptions that have the various strings
substituted in. If there are multiple enumerations in the subscribe line, every combination will be
generated. The following example illustrates the concept:
enum dpu4eNet

= {"RcvBroadcastNAPerSec", "RcvMulticastNAPerSec" }

trigger ("<dpu4e>_<dpu4eNet>", EVENT, "<dpu4eNet> was unusually high or low on the DPU4e
<dpu4e>.")
{
if ("<dpu4e>.<dpu4eNet>.StdDev" >= 2.0);
if ("<dpu4e>.<dpu4eNet>" > 30);
}
This would produce the following set of triggers as output:
(Assume that the dpu4es in this system are named DPU4E_1 and DPU4E_2)
trigger DPU4E_1_RcvBroadcastNAPerSec ", EVENT, " RcvBroadcastNAPerSec was unusually high or
low on the DPU4e DPU4E_1.")
{
if (DPU4E_1 RcvBroadcastNAPerSec.StdDev" >= 2.0);
if ("DPU4E_1. RcvBroadcastNAPerSec " > 30);
}
trigger DPU4E_1_ RcvMulticastNAPerSec ", EVENT, " RcvMulticastNAPerSec was unusually high or
low on the DPU4e DPU4E_1.")
{
if (DPU4E_1 RcvMulticastNAPerSec.StdDev " >= 2.0);
if ("DPU4E_1 RcvMulticastNAPerSec " > 30);
}
30

Metso Automation.

maxDNA maxRPM Users Guide

trigger DPU4E_2_RcvBroadcastNAPerSec ", EVENT, " RcvBroadcastNAPerSec was unusually high or


low on the DPU4e DPU4E_2.")
{
if (DPU4E_2 RcvBroadcastNAPerSec.StdDev" >= 2.0);
if ("DPU4E_2. RcvBroadcastNAPerSec " > 30);
}
trigger DPU4E_2_ RcvMulticastNAPerSec ", EVENT, " RcvMulticastNAPerSec was unusually high or
low on the DPU4e DPU4E_2.")
{
if (DPU4E_2 RcvMulticastNAPerSec" >= 2.0);
if ("DPU4E_2 RcvMulticastNAPerSec " > 30);
}

31

Metso Automation.

8.3

maxDNA maxRPM Users Guide

Trigger Command

TRIGGER("TAG", ALARM|EVENT, "Message", SEVERITY, EXPORT, GROUP)


{
if <expr> [for <time period>];
if <expr> [for <time period>];
}
This is the function that generates triggers. To define a trigger you must specify at least a tag name, which
must be unique. The arguments are each separated by commas. After the tag name, the trigger class can be
specified. ALARMs appear on both the alarm list and the event list\logger; EVENTs appear only on the
event list\logger. The default is EVENT if this is left unspecified. A custom explanatory message can be
given after this, followed by the severity level (0-6, default is 5), and export mode (EXPORT, LOCAL.
Default is LOCAL). The last parameter, GROUP, is optional. Its purpose is to provide a means to sound
an annunciator when the trigger condition becomes true. If it is used, the GROUP parameter must be an
alphanumeric character string. There is no restriction on the length of the group name. Run
c:\sbp\AnnSetUp.exe to create an annunciator using the GROUP parameter as the HID value as
follows: /<groupName>. For instance if the group parameter was EvtGroup1, the HID value entered in
AnnSetUp.exe would be /EvtGroup1. The same Group name can be used on many Trigger commands.
After this, in C-style braces ({ }), is the conditional block. This is a series of if statements that dictate
the trigger's state. If any of these if statements evaluate to true, the whole trigger is assumed to be true.
Each if statement may span multiple file lines. The end of the if expression is denoted with a semicolon
(;).
The conditional expression may contain nearly any operator available in C++, and additionally some
mathematical functions. If an expression evaluates to something other than true or false, so long as it
doesn't evaluate to zero, it is considered to be true. Once a trigger has been set an event or an alarm will
be generated.
The for x <time period> clause requires an integer value x, and a time period that can be seconds,
minutes or hours (case insensitive).
Precedence
0
1
2
3
4
5
6
7
8
9
10

EventTrigger Operators and Precedence Levels


Operator
Description
()
Parenthesis
Unary Minus
+,Plus and Minus
*,/,\,%
Multiply, Divide, Divide, and Modulo
~
Bitwise Not (UNARY)
|,^
Bitwise Or and Xor
&
Bitwise And
<,<=,=<,==,=,!=,<>,><,
Relational Operators. BASIC style operators are acceptable.
>=,=>,>
!
Boolean Not (UNARY)
||,^^
Boolean Or and Xor
&&
Boolean And

32

Metso Automation.

11

maxDNA maxRPM Users Guide

Name
SQR(x)
SQRT(x)
POW(x,p)
EXP(x)
LOG(x)
LN(x)
SIN(x)
COS(x)
TAN(x)
ASIN(x)
ACOS(x)
ATAN(X)
SINH(X)
COSH(X)
TANH(X)
ABS(X)
MIN(X,Y)
MAX(X,Y)
INT(X)
FRAC(X)
QUALITY(X)

Tertiary Conditional Operator (<condition>) ? true : false


Event Trigger Mathematical Functions
Description
Square X
Square Root of X
X to the pth power (also takes the SBP Wrapper Calcs PWR)
e to the xth power
Log base 10 of x
Natural log of x
Sine of X
Cosine of X
Tangent of X
Arcsine of X
Arccosine of X
Arctangent of X
Hyperbolic sine of X
Hyperbolic cosine of X
Hyperbolic tangent of X
Absolute value of X
The minimum value between X and Y
The maximum value between X and Y
The integer portion of X
The fractional portion of X
Yields the SBP quality value of the given expression
Constants:

Name
TRUE
FALSE
PI
QUALITY_GOOD
QUALITY_GOOD_FORCED
QUALITY_NOT_KNOWN
QUALITY_DOUBTFUL
QUALITY_SUBSTITUTE
QUALITY_BAD
QUALITY_BAD_REF
QUALITY_NOVALUE

Value
boolean true (1)
boolean false (0)
3.14159
sbp point of good quality
sbp point of good quality that is being forced a value
this point has unknown quality characteristics
this point's quality is doubtful
this point has been substituted
this point's value appears to be bad
this point's reference is bad
no value at this point

Example 1:
The following example, taken from the trigger.ini file, illustrates some of the commands used in a trigger.
trigger("<wks>_Mem_Low80", EVENT, "<wks>'s Paging File is over 80% full.")
{
if (("<wks>.Memory.CommittedBytes"/"<wks>.Memory.CommitLimit") >= 0.80) &&
(("<wks>.Memory.CommittedBytes"/"<wks>.Memory.CommitLimit") < 0.90);

33

Metso Automation.

maxDNA maxRPM Users Guide

}
This trigger will generate an event if the paging file for a workstation is between 80% and 90% full. The
<wks> enumeration is used as a shortcut method to create an instance of this trigger for each workstation
in the wks.ini file. For example, assume that maxENG1 is a maxSTATION in the wks.ini file.
The tag field will create a unique tag for each maxSTATION since <wks> would be replaced with for
instance maxENG1.
The next field indicates that an EVENT will be generated should the if statement become true.
The EVENTs description would read maxENG1's Paging File is over 80% full.
The if statement uses the divide (/) operator to compute the ratio of the current
Memory.CommittedBytes to the Memory.CommitLimit for maxENG1. These tags were created by the
maxRPMServer. The EventTrigger program will subscribe for their values via the Software Backplane.
The Greater-Than-Or-Equal-To comparison operator (>=) is used to determine if the ratio is at or above
80%. Likewise, the Less-Than operator (<) is used to determine if the ratio is less that 90%.
The Logical-And operator (&&) indicates that both the comparisons must be true. If so the EVENT will
be generated.
Recall from the Overview section that the trigger condition, in this case the single if statement, will be
evaluated whenever a new value is received for any of its tags. The EVENT will be generated subject to
the LATCH time.
Example 2:
In this example the if statement includes the for x time clause; in this case for 2 minutes.
Also note that maxRPMServer maintains an attribute .state for a device that indicates whether it has
been able to communicate with it.
trigger ("<dbm>_Down", EVENT, "Can't communicate with DBM <dbm>.")
{
if ("<dbm>.state" != 0) for 2 minutes;
}
Example 3:
This example illustrates the use of statistics computed by the maxRPMServer. The Bus2TokenPass tag
corresponds to a statistic maintained by maxRPMServer as directed by a sample command in the
monitor.ini file. The section in this book on the Monitor.ini file describes the statistical attributes it
provides.
trigger("<dbm>_Token_2_Dec", EVENT, "The bus two token rate on the DBM <dbm> has been
decreasing over the past twelve hours.")
{
if ("<dbm>.Bus2TokenPass.Decreasing.Start=%12 hours ago%.Stop=%now%");
34

Metso Automation.

maxDNA maxRPM Users Guide

}
Not that the Decreasing attribute requires additional parameters to define the period over which the tag
value is to be analyzed.

35

Metso Automation.

maxDNA maxRPM Users Guide

Appendix A: Enabling Non-Admin Users to Remotely Monitor with


PERFMON
These procedures need only be applied to a maxSTATION from which the maxRPM Server cannot
acquire performance statistics. The dialog below shows how the Monitor.exe would indicate this
condition. By left clicking on the Workstation statistics folder in the left pane, the top-level folder for each
workstation appears in the right pane. Note that for station MCSNT22, its status reads: The configuration
registry could not be opened. This occurs mostly on machines that had a full install of Windows 2000,
because Windows 2000 is more restrictive than Windows NT is. Follow the procedures below to correct
this condition.

a) Log on to the maxSTATION as Administrator.


b) From the Start\Run menu enter Regedt32.
c) From the left pane, navigate to the key:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Perflib

d) From the top menu select Security then Permissions. The Dialog titled Permissions for
Perflib will appear.
e) If the Names list does not contain Everyone, add it by clicking on the Add button. From the User
Groups dialog select Everyone from the list and click on the Add button. Close the dialog by
clicking on the OK button.
f) From the Permissions for Perflib dialog click on Everyone. Look at Permissions list. If the
Allowed checkbox for Read permissions list is not checked, left-click on it.

36

Metso Automation.

maxDNA maxRPM Users Guide

g) Left-click the OK button to close it.


h) Repeat steps c g for the key
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\winreg

i)

Repeat steps c g for the key

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\diskperf

37

Metso Automation.

maxDNA maxRPM Users Guide

Appendix B: Cisco Ethernet Switch Data


The following tables describe the data by the maxRPMServer read from the Cisco Ethernet Switches.
Cisco 1900 Data
NAME
SystemDesc

DATA
TYPE
String

TotalPorts

Integer

SwitchPorts
Broadcast Threshold

Integer
Integer

LastBroadcast
StormTime

Time
Ticks

PortExceed
BroadcastStorm

Integer

Current
BandwidthUsage
FullDuplex

Counter

Status

Integer

Integer

DESCRIPTION
The full name and version identification of the switch: hardware type, software
operating system, and networking software.
The total number of physical network ports.
Fixed configuration - 27, 15 or 14 ports
Modular configuration - 25 - 41 ports
The number of ports that are individually switched - 27, 15 or 14 switched ports.
Sets the upper limit for Broadcast storm control function. The broadcast rate is the
number of broadcast packets received from a port in a second. If BroadcastStormControl
is set to enabled and BroadcastStormAction is set to block, the switch stops forwarding
broadcast packets received from a port when the number of broadcast packets received
from the port in a second exceeds the threshold. The default value is 500.
The last time a port exceeded broadcast threshold. This object is only valid if broadcast
storm control is enabled at least once since system start up. The port where the event
occurred is identified by PortExceedBroadcastStorm.
The port where the broadcast threshold was last exceeded, if Broadcast Storm Control
was enabled. The time when the event occurred is identified by
BroadcastStormLastTime. The default value is 0.
The bandwidth currently consumed. The measurement unit is in megabits per second
(1,000,000 bits/second).
Set to enabled(1) to operate in full duplex mode: port will allow simultaneous transmit
and receive which can double its bandwidth. Set to disabled(2) to operate in half duplex
mode. Set to auto-negotiate(3) to allow the switch to negotiate with the other end of the
connection. Auto-negotiate(3) may not be set on a 10Mbps port, or a port whose
connector type is not RJ45.
Current operational status of the port. Possible values are:
Enabled(1): normal operation (transmit and receive)
Disabled-mgmt(2): disabled by explicit management action
Suspended-linkbeat(3): suspended due to absence of linkbeat
Suspended-jabber(4): suspended because port is jabbering
Suspended-violation(5): suspended due to a secured address violation
Disabled-violation(7): disabled due to a secured address violation
Suspended-not-present(9): there is no module inserted in the expansion slot.
Suspended-not-recognized(10): there is an unrecognized module inserted in the
expansion slot.
Reset(11): the port is currently in the reset state.
Suspended-ringdown(12): suspended due to a ring-down condition
Suspended-stp(13): Spanning Tree Protocol non forwarding state
Disabled-self-test(14): disabled because port fails self-test
Enable-degraded(15): connectivity still present but performance is lowered due to errors.
Suspended-atm-lane-down(16): Non-trunk ATM module using LANE suspended
because there is no active LANE client.
Suspended-no-vlan(17): the port is not assigned to a VLAN or the assigned VLAN does
not exist.
Disabled-no-vlan(18): vlan of the port is suspended or does not exist.
Suspended-atm-network-down(19): ATM module suspended due to ATM network down,
or ATM physical layer down.

38

Metso Automation.

LinkBeatStatus
LinkBeatLosses

Integer
Counter

JabberStatus
Jabbers

Integer
Counter

RxTotalOctets

Counter

RxBroadcast Frames

Counter

RxFiltered Frames

Counter

RxNoBuffer
Discards
RxFCSErrors

Counter

RxAlignment Errors

Counter

RxFrameToo Longs

Counter

RxRunts

Counter

TxTotalOctets
TxBroadcast Frames

Counter
Counter

TxQueueFull
Discards
TxErrors

Counter

Counter

Counter

maxDNA maxRPM Users Guide

Suspended-disl(20): suspended while port is negotiating trunking mode using the


Dynamic Inter Switch Link protocol.
The default value is enabled(1), unless POST has detected a failure on the port, in which
case, it is disabled-self-test(9).
The current port linkbeat status: linkbeat(1), noLinkbeat(2).
Number of times that the value of swPortLinkbeatStatus has changed from linkbeat to
noLinkbeat.
The current jabber function result: notJabbering(1), jabbering(2).
Number of times that the jabber function has to be invoked because a frame transmitted
from this port exceeded a certain time duration.
A count of data and padding octets in all octets that are successfully received. This does
not include octets in frames received with frame-too-long, FCS, length or alignment
errors, or frames lost due to internal MAC sublayer error.
A count of frames that are successfully received and are directed to the broadcast
address. This does not include frames received with frame-too-long, FCS, length or
alignment errors, or frames lost due to internal MAC sublayer error.
A count of frames received that were discarded because 1) the frames were local to the
segment, 2) no destination address matches could be found and no ports were set up to
accept such frames, 3) the destination addresses matched but source port explicit
information prevented their forwarding, 4) the destination addresses matched but no
destination ports have been specified for them, 5) the destinations were non-registered
multicasts and no ports were configured to accept them.
A count of frames received that were discarded due to a lack of frame buffer resources in
the switch's forwarding engine.
A count of frames received that are an integral number of octets in length but do not pass
the Frame Check Sequence test.
A count of frames received that are not an integral number of octets in length and do not
pass the Frame Check Sequence test.
A count of frames received that exceed the maximum permitted frame size as defined by
the corresponding portMtu object.
A count of frames received that are shorter than the minimum permitted frame size.
Runts usually indicate collision fragments, a normal network event.
A count of data and padding octets in all frames that are successfully transmitted.
A count of frames that are successfully transmitted and are directed to the broadcast
address.
A count of frames that cannot be transmitted because the transmit queue for the port is
full.
A count of frames for which transmission fails due to an internal MAC sublayer transmit
error.

Cisco 2900
NAME
SystemDesc
BoardID
Current
BandwidthUsage

DATA
TYPE
String
Integer32
Gauge32

DESCRIPTION
The full name and version identification of the switch: hardware type, software operating
system, and networking software.
Returns the identifier of the main board on which the FastSwitch firmware resides.
The current bandwidth consumed. The measurement unit is in megabits per second
(1,000,000 bits/second). This value gives a reasonable estimate of the amount of traffic
currently flowing through the switch. It is calculated as follows:
Octets*8 + Frames*(96 + 64)
----------------------------------------------

39

Metso Automation.

maxDNA maxRPM Users Guide

Measurement Interval * 1,000,000 * 2


Where:
Measurement Interval is the amount of time over which the Octets and Frames were
collected, in seconds. Measurement Interval is always one second in current
implementation.
Octets is the total number of octets transmitted or received by all network interfaces,
excluding framing data but including FCS. This includes octets in frames which were
partially transmitted or received (due to collisions, for example).
Frames is the total number of frames transmitted or received by all network interfaces,
including frames with errors.
The number of frames is multiplied by 96 plus 64 in order to estimate the delay between
each frame for Ethernet's IPG and preamble/SFD.
The '2' in the divisor makes this a forwarding bandwidth counter. A frame received on one
interface is typically forwarded out another interface. In order to avoid double-counting this
frame's bandwidth, once on the receiving interface and once on the transmitting interface,
the total bandwidth is divided by two. Since multicast and broadcast frames can be sent to
multiple ports, the above is at best a lower bound.
LinkBeatStatus

Integer

Status

Integer

SwitchPort Index
DuplexState

Integer32
Integer

DuplexStatus

Integer

RxNoBwFrames

Counter32

RxNoBuffer
Frames
RxNoDest
UniFrames
RxNoDest
MultiFrames
RxSuppress
BcastFrames
RxFcsErrFrames

Counter32

CollFragFrames

Counter32

Counter32
Counter32
Counter32
Counter32

This object depends on the physical layer in use and indicates the current port linkbeat
status: if the physical link between two devices is properly connected or not. If the value is
linkbeat(1), there is linkbeat. If the value is nolinkbeat(2), there is no linkbeat. If the value
is unknown(3), the information is not available.
The port's current state as defined by application of the Spanning Tree Protocol. This state
controls what action a port takes on reception of a frame. If the switch has detected a port
that is malfunctioning it will place that port into the broken(10) state. For ports which are
Disabled, this object will have a value of disabled(2). Since the switch implements three
additional states which are not part of IEEE Standard, these additional states are possible
values for c2900PortStaus. The additional states are preforwarding(6), secureforwarding(8),
and suspended(9). This object is only supported for static access ports.
Switch port index of a port is a value that uniquely identifies the port within a switch.
Set to fullduplex(1) to operate in full duplex mode, port will allow simultaneous transmit
and receive which can double its bandwidth. Set to halfduplex(2) to operate in half duplex
mode. Set to autoNegotiate(3) to allow the switch to negotiate with the other end of the
connection.
The status of duplex mode on this port. This shows the result of full duplex auto-negotiation
when PortDuplexState is set to auto-negotiate. Status: fullduplex(1) or halfduplex(2).
A count of frames received on this port that were discarded due to a lack of bandwidth
resources in the Catalyst Switch forwarding engine.
A count of frames received that were discarded due to a lack of frame buffer resources in the
Catalyst Switch forwarding engine.
A count of unicast frames received that were discarded, because the forwarding rules
stipulate that they are not be forwarded.
A count of multicast frames received that were discarded, because they have not been
configured for the port.
A count of broadcast frames received that were discarded because of the threshold-based
broadcast suppression.
The total number of frames received with FCS errors. This total includes all frames received
with an FCS error and an integral number of bytes.
The total number of frames whose lengths are less than 64 and have bad FCS values. The
preamble and sfd fields are excluded from the byte count of a frame while the FCS field is

40

Metso Automation.

TxMulticast
Frames
TxBroadcast
Frames

maxDNA maxRPM Users Guide

Counter32

included.
A count of frames that are successfully transmitted and are directed to a multicast address.

Counter32

A count of frames that are successfully transmitted and are directed to the broadcast address.

41

Metso Automation.

maxDNA maxRPM Users Guide

Appendix C: Monitor.ini Technical Details


There are three different classes of commands: Collection Commands, maxSTORIAN Commands, and
Point Group Commands.

Collection Commands
These commands define what is to be collected from SBP, SNMP and the Registry. Each command is
preceded by the class of object it is defining (except for a handful of special purpose ones). The possible
object types are as follows:
cisco1900
cisco2900
ctl
dbm
dpu3
dpu4
dpu4a
dpu4b
dpu4e
ecol
elog
esrv
link
mxs
wks
DPUBus_HMI

Cisco 1900 Series Network Switch


Cisco 2900 Series Network Switch
Controller File
DBM Instance
DPU3 Instance
DPU4 Instance
DPU4a Instance
DPU4b Instance
DPU4e Instance
Event Collector Instance
Event Logger Instance
Event Server Instance
maxLINKS Instance
maxSTORIAN Instance
Windows 2000 computer running maxSTATION
Older MAX 1 Op Stations or MAX 1000 RTP/RTS devices

Once you have specified the device you specify the command. The syntax for these commands is
basically <device>.<command>. Not all devices support all commands.

Monitor Command
<device>.Monitor.All
This command instructs learn mode to monitor every instance of a device it finds when it goes out
searching for devices to monitor. This includes the computer that Monitor is actually running on.
<device>.Monitor.Self
This command tells learn mode to monitor the computer that Monitor is running on. The purpose of this
command was to allow for the Monitor program to be installed on each workstation without having to
have a custom Monitor.ini file for each one. It still may have other uses though. This command is only
supported by the wks device type.

42

Metso Automation.

maxDNA maxRPM Users Guide

<device>.Monitor(<device name> [,<tag name>])


This commands Monitor to watch a specific device and tagname. Even though the device is specifically
named, Learn Mode must be able to find it in order for it to show up. For device and tag names for
various object types, refer to the section titled Object Names and Devices in this appendix.

Ignore Command
<device>.Ignore(<device name> [,<tag name>])
This commands Monitor to ignore any device it finds with the specified attributes. This overrides any
command to include this device. If it is specified, it wont be used. For devices, refer to the section titled
Object Names and Devices in this appendix.

Group Command
<device>.{parentgroup.}group(<groupname>, [<grouphelp>], [<dev>], [<tag>], [<flags>])
This command creates a new group within a device type. A group can contain one of three things: Other
groups, points, or instances. A point is a single data element in monitor with a name and a value that is
read in from the Windows Performance DLL, SNMP, or SBP. An instance is a set of points that may occur
multiple times, sort of like a record in a database. Groups themselves have no data, they just contain it in
an organized way.
Each device is a group unto itself, so you dont always need to create a group to add points. Points are
added directly to the DPU4e object for instance. One place where defining groups is necessary, however,
is in specifying SBP data to be collected from workstations. The reason for this is that the Windows
Performance DLL returns groups to be placed in the workstation, and mixing groups and points is not
allowed. If a group contains groups, it can only contain groups. If a group contains points it can only
contain points.
Another thing to note is that groups can be placed inside groups by specifying a parent group after the
device type identifier. For instance, to add a group called Pizza Steak to a preexisting group called
ThePatio do it as follows:
wks.thepatio.group(Pizza Steak)
Add a group called ExtraMushrooms to Pizza Steak, would be written as:
wks.thepatio.Pizza Steak.group(ExtraMushrooms)
Note the quotation marks around Pizza Steak. This is necessary when the group name contains a space or
non-alphanumeric characters. What follows is a brief discussion of the group creation arguments:
Parameter
GroupName

Meaning
This is the name of the group being created. This is the name that appears in the
Monitor window. Its also used in SBP requests, minus spaces and special characters.
The group name may contain scripting code that generates multiple groups

43

Metso Automation.

maxDNA maxRPM Users Guide

depending on the results of learn mode. For an example of this, see the definition of
the link type in Monitor.ini. For more information on scripting, refer to the section
titled Scripting in this appendix.
This is the help string that appears at the bottom of the screen to describe the
contents of the group. It can be anything. This field is optional.
This specifies an alternate device, most likely using scripting. If left blank, the parent
group is assumed. This field is optional. For more information on devices and tags,
refer to the section titled Object Names and Devices in this appendix. For more
information on scripting, refer to the section titled Scripting in this appendix.
This specifies an alternate tag, most likely using scripting. If left blank, the points are
assumed to be from the same tag as the parent group. This field is optional. For more
information on devices and tags, refer to the section titled Object Names and
Devices in this appendix. For more information on scripting, refer to the section
titled Scripting in this appendix.
The only flags available for groups are 0 (thats a zero) and N. 0 turns on zerobased indexing for instances in the group in place of the normal one based indexing.
N causes the instance counter (if present) to use SNMP rather than SBP. This field
is optional.

GroupHelp
Dev

Tag

Flags

Point Command
<dev>.{parentgroup(s)}.point(<source>, <name>, [<help>], [<flags>], [<speed>])
This statement either adds a point directly to a device, or to a group within that device if parent groups are
specified (see Adding Groups). Points link a source to a named counter in the monitor somewhere. If a
group of points is repeated over and over again (such as in maxTRANSPORT), using the Instance
statement is a good idea. This is discussed later. The table below expands upon the arguments:
Parameter
Source
Name

Help
Flags

Speed

Meaning
This tells the monitor where it will find the data for this point. It may be an SBP point or
an SNMP OID. It may also be a point in the learn mode database. The source should
always be generalized through scripting, which is discussed in a later section.
This is the name the point will take on over SBP and in the monitor window. It can be
scripted, but it should be made sure that <source> and <name> create the same number
strings. Otherwise there will be more sources than names, or vice versa. Scripting is
discussed in a later section.
This field specifies the point description available at the bottom of the window and over
SBP. This field is optional.
This field specifies various flags used in processing the point. This field is optional. The
various flags that can be specified are shown below:
h
Point should be viewed in hexadecimal.
H
Point displayed as DPU4e health string.
r
Point should be viewed as a rate.
R
Point should be read, not subscribed to.
N
SNMP network point, not SBP.
M{mapping} Use # to name mapping specified for display purposes (SBP
Requests will still return a number). See Map Command.
I
Point should be viewed as a packed TCP/IP internet address
This field specifies the speed at which the point is collected. One special note: If the

44

Metso Automation.

maxDNA maxRPM Users Guide

collection is set to a period of greater than one minute and the point is a plain old SBP
point, the point will not be subscribed to. The point will be read instead.
NOTE: When a point source starts with a dollar sign $ that means its neither an SNMP or an SBP point,
but just a value in the learn mode database.

Instance Command
<dev>.{parentgroup(s)}.instance(<count>)
This statement transforms a group full of points into a group full of instances. The point that you specify
in count refers to a learn mode point, an SBP point, or an SNMP OID. In any case, it will read that point
to determine how many instances to create. Each instance is tied to the number that it is given through the
{id} script identifier, which allows the points to come from different sources. Scripting is covered in more
detail in the section titled Scripting in this appendix.
IMPORTANT NOTE: If the instance counter is an SNMP OID, make sure you set the N flag in its
parent group. Otherwise, it will try to send it out over SBP.

Sample Command
<dev>.sample(<group>, <point>)
This statement tells Monitor to keep detailed statistics on a particular point inside a particular group. You
only need to name the group that the point is in, not the entire path to that group (if its nested). Points
that have this specified keep a sampled history, and so queries on this history can be performed. For
additional information on what information can be gotten, see the section on SBP interfaces, and the
section titled Monitor Access Modes in this appendix.

Map Command
Map <mapname> = {[<TextDescription> = <value>, ]}
The purpose of this statement is to allow counter values to be mapped to names when they are displayed.
Defining a mapping is simply a process of assigning it a name and associating the numerical states of the
counter with text descriptions. A simple example, equating the text True with 1, and False with 0, is
shown below.
Map boolean = {true = 1, false = 0}
To use this mapping on a point, you have to specify it in the points flag field, per this example:
Dpu4e.point([{device}]_dpms.isDpuOnFire,FlamingDPUFlag,,M{boolean})

45

Metso Automation.

maxDNA maxRPM Users Guide

Update Command
Update <Update Seconds>
The update command sets the default number of seconds between updates of data. This controls the
update speed of every counter, whether its an SBP, SNMP, or Windows Performance counter. This
number can be overridden on an individual point basis. See the Point Command for more information on
this. The default value is 30 seconds.

Object Command
<dev>.object(<windows performance object name>)
The object command only works for devices of type wks (workstation). The object command adds a
group to the workstation of Windows Performance Data. The object name is the name given to the
performance object by Windows. A full listing of these objects can be found in utilities such as PerfMon.
Some of the more important ones are listed below.
Performance Object
System
Logical Disk
Process
Paging File

Description
Contains information about the state of the computer system as a whole,
including processor usage percentages, system up time, and similar things.
Contains information about disks with letter names, including how much free
space remains and transfer rates.
This object consists of a number of instances describing every running process
on the computer. Information available includes processor utilization and
memory usage.
This object gives details about the state of the Windows paging files.

Sample Setup Command


Sample <freq | max> <value>
This command sets the defaults that should be used to sample data. They both work together to determine
the length of time statistics will be kept for. The frequency (freq) controls how many update cycles
should be accumulated before writing a sample to memory. This works hand and hand with the Update
command. If the frequency is set to one, then a sample will be recorded every update cycle. If it is two,
then two samples will be added together and averaged to represent that interval of time, instead of
recording both of those samples individually. Thus, even if every sample isnt recorded verbatim, none of
them are ignored, even if the sample speed is less than the update speed.
The max value sets the maximum number of samples to store. Once this maximum has been reached, the
oldest sample will be overwritten. Two factors are at play here: memory usage vs. completeness. Since all
samples must be kept in memory (unlike in maxSTORIAN), making the sample maximum too large will
consume too much memory. However, you probably want it to go back at least a couple days.
To set this properly you have to take all these things into account. The equations below should help you:
Memory Usage = 8 * Max * (Number of Sampled Points)

46

Metso Automation.

maxDNA maxRPM Users Guide

Time Span = Update Speed * Freq * Max


For example, if you set Max to 1,000 and guess that you have about 2,000 sampled points, the sampled
data will use about 16MB of memory. Also if you want the time span to be one day (86,400 seconds) with
an update speed of 30 seconds and a maximum of 1,000 then just solve the following equation:
Freq = (Time Span)/(Max * Update Speed)
Freq = (86,400)/1,000 * 30) = 2 and change.
Youd want to round that two up to a three, otherwise you wont quite make it one day. Setting it to 90
would allow you to monitor for one month.

Relearn Command
Relearn <hours>
Sets the number of hours between automatic relearns occur. A negative one here will disable automatic
relearning of the system. This parameter should be left set to the default setting, which is NOT to have
relearns.

Path Command
Path <mdb|wks> = <pathname>
This specifies a path where learn mode resources can be found. Path wks (workstation) indicates the path
to the initial of wks.ini file. Learn mode will visit the directories of every computer in this file, copy their
initialization files to the servers Remote directory, and learn what they should be running. There can only
be one wks path. If none is specified, it defaults to the remote servers wks.ini.
Path mdb is used to locate configuration databases. There can be many mdb paths. Each one of these
configuration files will be copied to the server and queried for DBMs and DPUs. You should note that
once the configuration files have been copied, they will not be copied again until the old ones have been
deleted from the servers Remote folder.

maxSTORIAN Commands
These commands exist to communicate to the maxSTORIAN exactly which points it should be
monitoring. The system involves three commands: Template, Enum, and Subscribe. You define templates
for maxSTORIAN points with the template command. You then define the points on Subscribe lines,
linking them to a template. The Enum command makes the process of setting up maxSTORIAN a little
simpler.

Template Command
template <tmplName> = {"<compression>", "<storage>", <rate (secs)>, <delta>, <cdelta>, <secLevel>}

47

Metso Automation.

maxDNA maxRPM Users Guide

This creates a maxSTORIAN template with the provided attributes for compression, storage, rate, delta,
cdelta and seclevel. The definitions of these items can be found in Publication 277622, maxSTORIAN
Users Guide.

Subcribe Command
subscribe <pointname> [, <tmplName>]
This command generates a maxSTORIAN subscription to the named point. It may possibly cause
multiple point subscriptions if enumerations (described in the next section) are used. The points specified
in the subscribe line do not have to exist in Monitor, they can be points elsewhere in the system.

Enum Command
enum <name> = {<Item>, <Item>. }
This command is used to specify a list of values that are all to be substituted for an enumerated symbol in
a subscription line. The enumeration is given a name, and is then assigned a list of strings that are to be
substituted for that name. Subscribe lines will then produce subscriptions that have the various strings
substituted in. If there are multiple enumerations in the subscribe line, every combination will be
generated. The following example illustrates the concept:
enum dpustuff = {"BackupPair", "PrimaryActive", "SecondaryActive", "Runstate"}
subscribe "<dpu3>.<dpustuff>", "default"
This would produce the following points as output:
(Assume that the dpu3s in this system are named DPU3_1, DPU3_2, DPU3_3
Subscribe DPU_1.BackupPair , default
Subscribe DPU_1.PrimaryActive , default
Subscribe DPU_1.SecondaryActive , default
Subscribe DPU_2.BackupPair , default
Subscribe DPU_2.PrimaryActive , default
Subscribe DPU_2.SecondaryActive , default
Subscribe DPU_3.BackupPair , default
Subscribe DPU_3.PrimaryActive , default
Subscribe DPU_3.SecondaryActive , default
Of course, these points dont exist on SBP, but that should help you get the idea of how it processes the
enumerations. The last thing you need to know about enumerations is that predefined ones exist for every
type of device the monitor knows about. So, to get at PctTotalProcessorTime for every workstation, just
do the following:
Subscribe <wks>.system.pcttotalprocessortime

48

Metso Automation.

maxDNA maxRPM Users Guide

A nice side effect of this is that whenever monitor relearns and finds additional workstations, they will
also get added to maxSTORIAN. A list of all device type identifiers is presented in a following section.

Point Group Command


This command is used to define Point Groups for the History Report Server, which uses Point Groups as
the basis for defining Reports.
pointgroup <point>, <groupname>, [<data type>], [<summary mode>]
Theres just one command specifically for point groups really. It works almost completely the same as the
maxSTORIAN Subscribe lines. It even still lets you use enumerations. Below is a summary of the
necessary arguments:
Parameter
Point

Meaning
This is the name of the point, which should be a member of the group. It can
include enumerations, which are explained in section 1.2.3. Its important to note
that the Report Server will not function properly unless you precede the whole
point name with two backslashes (\\). This gets around problems where the
Report Server will mistakenly assume the point is a trend.

Group Name

Group name is the name of the point group that youd like these points to be
added to.

Data Type

Is the type of data that the point is. This should be Float for any point within
the monitor, although a few points could be marked as Bool. For a discussion
of types, see Publication 277583, History Reports Users Guide. If left blank,
data type defaults to Float.

Summary Mode

This field sets the summary mode, as described in the report server
documentation. Default is No Summary if this parameter is not given.

Object Names and Devices


Below is a listing of all the types of objects monitor can communicate with.
Type Name
Cisco1900
Cisco2900
Ctl
Dbm
dpu3
dpu4
dpu4a
dpu4b
dpu4e
Ecol

Description
Cisco 1900 Series Network Switch
Cisco 2900 Series Network Switch
Controller File
DBM Instance
DPU3 Instance
DPU4 Instance
DPU4A Instance
DPU4B Instance
DPU4E Instance
Event Collector Instance

49

Metso Automation.

Elog
Esrv
Link
Mxs
Wks
DPUBus_HMI

maxDNA maxRPM Users Guide

Event Logger Instance


Event Server Instance
maxLINKS Instance
maxSTORIAN Instance
Windows 2000 computer running maxSTATION
Old MAX 1 Op Stations or MAX 1000 RTP/RTS devices

Each object type has both a device and a name. The general idea is that the device is the actual piece of
hardware that has the information available, and the name is the service under which this information is
available on that hardware.
This is similar to looking at [OPER_1]_lss.currenttime. Here OPER_1 is the device, and _lss is the name.
Most of the SBP based objects follow this pattern, but the others can get a little confusing; see the table
below.
Type
Device
Name
Cisco1900
Name given to switch in Network.ini
The IP address as a decimal long (or *)
Cisco2900
Name given to switch in Network.ini
The IP address as a decimal long (or *)
Ctl
None. Use *
Name of controller in MDB
Dbm
None. Use *
Name of DBM in MDB
dpu3
None. Use *
Name of DPU3 in MDB
dpu4
None. Use *
Name of DPU4 in MDB
dpu4a
None. Use *
Name of DPU4A in MDB
dpu4b
None. Use *
Name of DPU4B in MDB
dpu4e
Name given to DPU in dpulist.ini
None. Use *
Ecol
Name of workstation its running on
None. Use *
Elog
Name of workstation its running on
Name of the Event Logger instance
Esrv
Name of workstation its running on
None. Use *
Link
Name of workstation its running on
Name of the maxLINKS instance
Mxs
Name of workstation its running on
Name of the maxSTORIAN instance
Wks
Name given to WKS in wks.ini
None. Use *
NOTE: When using * as a parameter in Monitor.ini commands Monitor and Ignore, it matches any
name or device for that particular field.

Accessing Variables via SBP


Almost every piece of information in the monitor is available in some form over the software backplane.
All of the devices are available as exported symbols and the entire left pane tree can be accessed
hierarchically by asking for the service count of each item and stepping through all of its services
numerically. The value of every counter can be accessed from the address that you get at the top of the
screen when you click on a counter in the Monitor. You can ask the monitor for a number of other pieces
of information about a point besides its value. You can even ask it to do statistical calculations on the
whole body of sampled data or just a few values over a time period.
It also allows you to subscribe to the displays in the right hand pane, which come across as a whole load
of data updates. You can also access individual points by their pointers over SBP. This was implemented
in order to give them a unique identifier that could be looked up later without knowing their full paths.

50

Metso Automation.

maxDNA maxRPM Users Guide

Available Point Output


The simplest method is to just find the point you want in the server window, click on it, and copy the path
it gives you at the top of window. But understanding the hierarchy isnt too bad, either.
The first part of the path is the device symbol. It will be the name of the device combined with _mon_
(or \\_mon_; both are available). This symbol is exported over SBP, so it will be found no matter where
you ask for it, so long as someone is publishing it somewhere. It ends with the name of the point as shown
in the monitor window. The name of the point in monitor isnt necessarily exactly the same as the name of
the source of the point. Some points have been slightly renamed, and the Windows Performance points in
particular need to be named differently. In between the beginning and the end are the names of the
organizing groups within the device that contain the point. The syntax is as shown below:
<device name>.{<group name>}.<point name>
Internally, Monitor makes no distinction between devices, groups or points. It only knows that some
things are inside of other things. Every piece of a point address is a member of the thing to the left of it,
sort of like a path on a hard disk. This structure directly mirrors the structure of folders in the tree. The
only thing it doesnt include is the top-level header folders, which are above the device name anyhow.
You dont need to name anything before the device name.
As an example, to access the point SystemUpTime from the object System in the device
_mon_MCSNT22 you would use the point identifier _mon_mcsnt22.system.systemuptime to retrieve
the current value.
Furthermore, you can access different characteristics of points by adding an access mode on the end. A
full discussion of access modes is given in the section titled Monitor Access Modes in this appendix., but
one simple access mode is . exists. This access mode returns a zero if the item isnt currently being
collected, and a one if it is. To access the previous examples .exists tag, youd just us the identifier
_mon_mcsnt22.system.systemuptime.exists instead.

Alternative Point Access


There are a few other ways of accessing points that have been developed to suit a variety of needs. They
both involve using the _mon symbol. This symbol, unlike the others, isnt exported, so you have to
clearly specify which station you want to talk to.
Using this symbol is sort of like specifying the root of the whole tree in monitor. It can see not only the
heading folders, but also all the devices underneath them. Every point can be seen by examining this
symbol. To understand this, youll need to know about two new access modes: .services and .name.
The services mode returns the number of services which an object has beneath it. The name mode returns
the name of the object in question. With this information, it is possible to reconstruct the tree in the lefthand pane.
To build the tree, for example, I first read _mon.services to find out how many services exist on the
trees top level. Once I have this number, I can use indexing like what is done on DPUs. I dont have to
know the names of the items, I can just read the following:

51

Metso Automation.

maxDNA maxRPM Users Guide

_mon.#1.name
_mon.#2.name
_mon.#3.name
etc
Afterwards, I have the names of all the top-level items in the tree. If I want to find out how many services
are available from #2 I would just read _mon.#2.services. From this I could further walk down the tree
by reading:
_mon.#2.#1.name
_mon.#2.#2.name
The # syntax can be used anywhere a name is normally used. There is one additional syntax, however, the
ampersand & syntax. It completely ignores the hierarchy and allows SBP access to the points as pointers
(dont worry I make sure theyre valid first!). This is useful primarily in the situation of display
subscriptions, where a token (pointer) to the counter is sent through SBP to uniquely identify its row in
the display list. This syntax allows you to send the pointer back to monitor to get more information about
it. This syntax looks like:
_mon.&<decimal token (pointer) value>[.<accessmode>]
Anything in monitor can be accessed this way.

Monitor Access Modes


There are a variety of different ways to access the data in a point, instance, device or group. The basic
ones are described below.
Name
Avg
Changed
Children
Count
Decreasing
Detail
Dev
Display

Description
Returns the average of all the sampled points. This function requires almost no processor
time to compute. Sampling must be turned on for the point in question or it will just
return NOVALUE.
Returns true if the sample has changed since the last update. Sampling must be turned on
for the point if you want to use this mode.
Returns true if the point is a container for other points (i.e. it has children in the left-pane
tree).
Returns the number of samples currently being stored for this item. Sampling must be
turned on to use this access mode.
Returns true if the point has been steadily decreasing over its entire sampling period.
This means that its decreased overall and that it decreased 80% of the time between
samples. Sampling must be turned on to use this access mode.
This mode is only valid on Window Performance points. Its just a simple indicator of
how esoteric a points meaning is (read: useless). 100 = Novice. 200 = Advanced. 300
= Experts. 400 = Hello there, Mr. Gates.
The number of deviations the current value is out of whack. 3.0 or greater represents a
point thats really out of tune with normal operation. Sampling must be turned on to use
this access mode.
This mode can only be subscribed to and is only supported by points that have children.
It generates a slew of updates that represent cells in the Monitors right pane list box.

52

Metso Automation.

Exists
Help
Icon
ID
Increasing
Max
MaxTime
Min
MinTime
Name
Newest
NewestTime
Oldest
OldestTime
Path
Quality
Rate
SbpName
Scale
Services
State

maxDNA maxRPM Users Guide

These can be reassembled into a display. More information is available in section 4.1.2.
This returns true if the point exists in Monitors database and false otherwise.
This returns the help string associated with the point. This is the same help string that
appears at the bottom of the Monitor window.
This is an icon image index. The main use of this is in telling Monitor Client what icon to
display for an item.
This returns a points ID number. This isnt valid for all points. If it returns 1 there isnt
one.
Returns true if the point has been steadily increasing over its entire sampling period. This
means that its increased overall and that it increased 80% of the time between samples.
Sampling must be turned on to use this access mode.
This function returns the maximum value currently in the sampled history. This is precomputed and involves no effort. Sampling must be turned on to use this access mode.
This function returns the time that the current maximum value occurred. Sampling must
be turned on to use this access mode.
This function returns the minimum value currently in the sampled history. This is precomputed and involves no effort. Sampling must be turned on to use this access mode.
This function returns the time that the current minimum value occurred. Sampling must
be turned on to use this access mode.
This function returns the screen name of a point. This is the name that shows up in the
tree.
This function returns the most recently sampled point. Sampling must be turned on to use
this access mode.
This function returns the time of the most recently sampled point. Sampling must be
turned on to use this access mode.
This function returns the oldest sampled point. Sampling must be turned on to use this
access mode.
This function returns the time of the oldest sampled point. Sampling must be turned on to
use this access mode.
This function returns the full SBP path to the point, as displayed at the top of the monitor
window.
This function returns the SBP quality value. It is only valid for points that were read over
the SBP.
This function returns the value as a rate between this sample and the previous sample.
Sampling must be turned on to use this access mode.
This function returns the name as delivered by SBP.
This function returns the scale of the item in question. The scale is what youd need to
multiply it by to plot it on a graph with Y = 0 to 100. Its only valid for Windows
Performance points, however.
This returns the number of points a point contains. Only valid if the children boolean
equals one.
This returns the current error state of the object. Positive errors are Windows errors.
Negative errors describe the following conditions:
Everythings fine.
-1
An SBP Subscription Failed
-2
Data arent all ready yet (not serious).
-3
The object has been declared dead. Its no longer visible.
-4
An error occurred trying to read the instance index counter.
-5
An error occurred performing an SBP read.

53

Metso Automation.

StdDev
Subs
Type

Value

maxDNA maxRPM Users Guide

-6
An error occurred performing an SNMP read.
This is the current standard deviation of all the samples. This value is pre-computed.
Sampling must be turned on to use this access mode.
The number of people currently subscribing to this point.
The type of object that this is. It will be one of the following:
-1
TYPE_UNDEFINED
0
TYPE_WKS
1
TYPE_DEVICE
2
TYPE_COUNTER
3
TYPE_INSTANCE
4
TYPE_PERFOBJECT
5
TYPE_GROUP
6
TYPE_SBPINSTANCE
7
TYPE_SBPCOUNTER
8
TYPE_MONITOR
9
TYPE_DPU
10
TYPE_DBM
11
TYPE_MXS
12
TYPE_NET
13
TYPE_HEADER
14
TYPE_DPU4E
15
TYPE_DPU4B
16
TYPE_DPU4A
17
TYPE_DPU4
18
TYPE_DPU3
19
TYPE_CNTL
20
TYPE_ESRV
21
TYPE_ECOL
22
TYPE_ELOG
23
TYPE_LINKS
24
TYPE_CISCO1900
25
TYPE_CISCO2900
26
TYPE_DPUBUS_HMI
This returns the current actual value of the counter. The shorthand is to not specify an
access mode at all. This mode is assumed.

It is also possible to specify an interval over which the statistics commands operate, through the use of
three additional tags: start, stop and period. They
Start=<time>
This defines the beginning of the interval.
Stop=<time>
This defines the end of the interval.
Period=<duration>

54

Metso Automation.

maxDNA maxRPM Users Guide

This defines the length of the interval, and can be used in place of stop if it is more convenient. A duration
is specified as <time> <units>. So 4 hours would be a valid interval, as would be 2 minutes or 600
seconds.
The time field in start and stop is very flexible. You can enter time in a variety of ways. The first (and
most obvious) is in Y/M/D H:M:S format. Note that the year comes first here. You dont have to be
specific to the second, or even the minute or hour. Actually, all you really need is the year, but thats a
little too vague for most purposes. Ex: Start= 1980/5/2 11:40
The second way is to directly use the seconds value in SBP time. To do this, prefix a value with a pound
sign # in front of it, ex: Start= #503402349.
The final way is to use relative times. To specify a relative time, use a % sign, and then either the word
now or an amount of time in the past. An example would be:
Start = %2 hours ago
Stop = %now
Like the duration, it accepts a wide variety of time units from seconds to years.

Scripting
The scripting is the glue that sticks learn mode to the monitoring engine. The problem was that the
monitoring engine only understands points that have been defined for it, but those points can change
depending on the users configuration. With many tens of thousands of points, manually tweaking the
thing for each users system would be a nightmare.
So, the points are defined in such a way that they dont name any specific device or assume any particular
setup. When the monitor gets back learn mode data it uses it to fill in the blanks in the points to figure out
what it should be looking at automatically.
What does it look like? Well, honestly, not much like a script at all. Its just a system that replaces
whatever is in braces {} with another value defined by the scripting language. To start with, suppose
were
the
Monitoring
Engine
and
we
want
to
update
the
value
point
[OPER_1]_eventloggernumber3.printLimit If you were to look in Monitor.ini, though, you wouldnt
see this point anywhere, but youd find something close, [{device}]{name}.printlimit. So how did we
get from one to the other?
The scripting system simply evaluated {device} and {name} while the point was on its way to the
Monitoring Engine, and by the time it got there it was ready to go. But its capable of a lot more, like
substituting values from the learn mode database and handling instance enumerations. Each name that
goes through the scripting system may come out as more than one name if a substitution has more than
one possible value (this happens when accessing the learn mode database).
Any number of script substitutions can be made, and script substitutions can be placed inside script
substitutions. Complexity of the expressions is arbitrary. Below are listed the available substitutions:
Script
{id}

Substitution
This substitutes in the index ID of the current instance. Default is one-based indexing.
If you need zero-based indexing, use the 0 flag.

55

Metso Automation.

{name}
{device}
{parentname}
{parentgroup}
{screenname}
{$<learn mode
point>}

maxDNA maxRPM Users Guide

This substitutes in the object name of the parent group (or the group itself if this
expression is being evaluated for one).
This substitutes in the object device of the parent group (or the group itself if this
expression is being evaluated for one).
This substitutes in the object name of the parent of the parent group (or the parent of
the group itself if the expression is being evaluated for a group).
This substitutes in the object device of the parent of the parent group (or the parent of
the group itself if the expression is being evaluated for a group).
This substitutes in the screen name of the parent group (or the group itself if this
expression is being evaluated for one).
This will substitute the value of the specified Learn Mode Database point. Other script
commands can be embedded inside of this one, even other Learn Mode Database
queries. The embedded query will be executed first, substituted into the desired query,
and the new query with substitution issued. One note: If the learn mode item specified
is a member of an array and the index is not specified, all points in the array will be
substituted in, generating multiple points. For an example of this more complicated use
of scripting, examine the maxLINKS definition in Monitor.ini.

56

Metso Automation.

maxDNA maxRPM Users Guide

Appendix D: Windows Performance Monitor Information


This appendix contains reprints of Microsoft information regarding the Windows Performance Monitor.
They are provided here because the maxRPMServer collects statistics such as %Processor Time,
Number of Processes, etc from the Windows Performance Monitor and therefore requires it to be
functioning properly. In general this Windows application runs properly and not does require any
maintenance. However there are occasions that require operator intervention. These situations are
generally related to security or failure of one of the support Dynamic Link Libraries (dlls). A symptom of
this type of problem would be if any of the items of the WKS node of the maxRPM Server indicate errors
for a known working maxSTATION. If this occurs, review the following information for possible
resolutions.

Q152513: Troubleshooting Performance Monitor Counter Problems


The information in this article applies to:
Microsoft Windows NT Server versions 3.1 , 3.5 , 3.51 , 4.0
Microsoft Windows NT Workstation versions 3.1 , 3.5 , 3.51 , 4.0
Microsoft Windows NT Advanced Server
Microsoft Windows 2000 , Professional
Microsoft Windows 2000 , Server
Microsoft Windows 2000 , Advanced Server
IMPORTANT : This article contains information about modifying the registry. Before you modify the
registry, make sure to back it up and make sure that you understand how to restore the registry if a
problem occurs.
SUMMARY:
The Performance Monitor utility Perfmon.exe may not display valid counter objects. Below are some
troubleshooting methods that can be used to resolve the issue.
MORE INFORMATION
WARNING : If you use Registry Editor incorrectly, you may cause serious problems that may require
you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that
result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
You could check the strings in the 009 key under the key described below and look for any garbled
entries, entries that have two numbers, or entries that have two strings in succession (you should see ###
string ### string, and so on in the multi-sz editor). This may not explain the different behavior between
the local and remote cases because they both access the same registry values.
Perfmon does the following with the registry:
Reads the perfmon configuration from the following registry subkey. Entries not found will revert to the
default values:
HKEY_CURRENT_USER\Software\Microsoft\Perfmon

57

Metso Automation.

maxDNA maxRPM Users Guide

Opens the performance registry key, which does the following (on the computer that you are trying to
connect to):
Opens the following registry subkey to read the name strings and explain text strings. If this fails, the
computer connection fails:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Perflib\009
(009 assumes English)
Opens the following registry subkey to read any configuration information. If this fails, the default
settings are used:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Perflib
Enumerates the following registry subkey to find services that have registered extensible performance
counter DLLs. If this fails, or any of the DLLs found fail, then the failed DLLs will not be loaded and the
extensible counters provided by the DLLs will be returned. The connection to the computer (local or
remote) will succeed with at least the standard counters:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
The biggest difference between monitoring a local computer and a remote computer is that the
performance counters are queried within the context of the Perfmon process when monitoring local
computer counters, while remote performance counters are monitored within a thread of the Winlogon
process on the remote computer.
Usually this type of failure is the result of one of the network related extensible counter DLLs. Another
possibility could be the permissions enabled on the local machine are insufficient to allow the remote
account access to the performance counter registry keys. The minimum permissions needed for each
instance of the following registry subtree
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ service name
\Performance
is:
Everyone - Read (Query Value, Enumerate Subkeys, Notify, Read Control).
System - Full Control
Administrators - Full Control
As always check the security, application or system event logs for any "interesting" entries. To try and
narrow it down you could try to disable the extensible counter DLLs to prevent them from being loaded.
If this solves the problem, enable the extensible counter DLLs one at a time to see when it breaks again.
To disable one or more extensible counter DLL(s):
Start the Registry Editor (RegEdt32.exe).
Navigate to the following registry subtree:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
Click Find Key on the View menu.
58

Metso Automation.

maxDNA maxRPM Users Guide

Type Performance as the search string, then search down from


there.
At each Performance entry you find, select the Library value and
modify the library name by prefixing it with two x's: for example,
change OrigLib.dll to xxOrigLib.dll
When you have done each Performance entry under the
CurrentControlSet\Services key, restart Perfmon to see whether it
works. If it does, then repeat the above two steps, only restoring
the original library name and trying Perfmon after each change to
see which library causes the fault.
2002 Microsoft Corporation. All rights reserved. Terms of use
Privacy statement Accessibility

Q164018: Controlling Remote Performance Monitor Access to WinNT Servers


The information in this article applies to:
Microsoft Windows NT Server versions 3.51 , 4.0
Microsoft Windows 2000 , Server
Microsoft Windows 2000 , Advanced Server
IMPORTANT:
This article contains information about editing the registry. Before you edit the registry, make sure you
understand how to restore it if a problem occurs. For information on how to do this, view the "Restoring
the Registry" online Help topic in Regedit.exe or the "Restoring a Registry Key" online Help topic in
Regedt32.exe.
SUMMARY
Depending on the networking environment, administrators may want to extend or deny remote access to
the performance data of their computers running Windows NT Server 3.51 or 4.0. The default
permissions are different in Windows NT 3.51 and Windows NT 4.0, and the methods for granting or
restricting access are also different. The information below details these defaults and methods.
MORE INFORMATION
To remotely view performance data on a computer running Windows NT
Server, follow these steps:
On a computer running either Windows NT Workstation or Server, run
Performance Monitor.
On the Edit menu, click Add to Chart.

59

Metso Automation.

maxDNA maxRPM Users Guide

-orOn the toolbar, click the button with the plus (+) on it.
After entering \\<ComputerName> in the Add to Chart dialog box, you are either denied access in some
way or allowed to add counters from the remote computer to the local performance chart. Default
Behavior on Windows NT Server 3.51 Computers Prior to Windows NT 3.51, any user (Guest, User,
Administrator) who
could make a connection to IPC$ on a server could also use Performance Monitor to remotely view the
server's performance data.
By default, the Everyone group has READ access in the following
registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib \009
NOTE: The above registry key is one path; it has been wrapped for readability.
READ access is all that is required to read the performance data, so
Everyone could access the data remotely.
Restricting Remote Access to Performance Data on Windows NT Server 3.51 Computers
To restrict access on a computer running Windows 3.51 Server, follow
these steps:
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to
reinstall your operating system.
Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be
solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing Keys And Values" online Help topic in
Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit
Registry Data" online Help topics in Regedt32.exe. Note that you should back up the registry before you
edit it.
Run Registry Editor (Regedt32.exe).
From the HKEY_LOCAL_MACHINE subtree, go to the following key:
\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perfl ib
Select the Perflib key.
On the Security menu, click Permissions.
Select Everyone and click Remove.
NOTE: Check to make sure that Administrator and System have Full Control access to Perflib and its
subkey, 009.
NOTE: 009 is the language ID for the English version of Windows NT.
60

Metso Automation.

maxDNA maxRPM Users Guide

Add a value called CheckSystemProfileRight to the Perflib key. The value type is REG_DWORD and
should be set to 1.
NOTE: In Windows NT 3.51 and 4.0, if the CheckSystemProfileRight value under the
KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\
key has been defined and given a value of 1, Read access to this key is necessary to retrieve the
performance data. If this value is not defined or is defined and set to zero, the ACL will NOT be checked
(to provide Windows NT 3.5 compatible behavior).
Click OK and quit Registry Editor.
If the Windows NT system partition is NTFS, use Explorer or File Manager to check the security on the
following files:
%windir%\system32\PERFCxxx.DAT
%windir%\system32\PERFHxxx.DAT
NOTE: xxx is the basic language ID for the system. For example, 009 is the ID for the English version.
These files contain performance data. If you want to restrict remote access to this data, remove Everyone
(or other appropriate groups) from the access list for these files.
NOTE: Read access to both Perfc009.dat and Perfh009.dat is required to monitor performance data.
BOTH files must have the correct ACL.
Shut down and restart Windows NT 3.51.
Users who attempt to remotely access performance data with Performance Monitor should now receive
the following message:
Insufficient privilege to access performance data.
Default Behavior on Windows NT Server 4.0 Computers
In Windows NT 4.0, guests (if the Guest account is enabled) and administrators are supposed to be able
to access performance data remotely. However, security on the following registry key is restricted to
dministrators:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers \Winreg
NOTE: The above registry key is one path; it has been wrapped for readability.
Without read access to this key, no one will be able to access performance data on this server. Prior to
Service Pack 3.0 for Windows NT Server 4.0, neither guests nor users are able to access
performance data. Adding read access to the Winreg key for the Guests, Domain Guests, Users, Domain
Users, or Everyone group will grant the desired user(s) access to performance data. Anyone
attempting to view remote performance data without this permission will receive the following error
message: Computer name not found
This message would normally mean that the client had network connectivity problems or perhaps a
NetBIOS name resolution problem. In this case, it is the equivalent of "Insufficient privilege to
access performance data.
61

Metso Automation.

maxDNA maxRPM Users Guide

Restricting Remote Access to Performance Data on Windows NT SERVER 4.0 Computers


Follow steps 1 through 6 above to restrict access to Windows NT 4.0 performance data. After step 6,
perform the following step:
- Before closing the registry, locate this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winr eg
NOTE: The above registry key is one path; it has been wrapped for readability.
Check the security permissions for this key. If there, remove the Everyone group (and other appropriate
groups) from the permissions list. However, be sure that administrators and system retain Full
Control of this key.
After securing the permissions on this key, complete steps 7 through 9 from above. Now, no one except
administrators should be able to remotely access the server's performance data using Performance
Monitor.
2002 Microsoft Corporation. All rights reserved. Terms of use
Privacy statement Accessibility

Q248993: Performance Object Is Not Displayed in Performance Monitor


The information in this article applies to:
Microsoft Windows 2000 , Advanced Server
Microsoft Windows 2000 , Server
Microsoft Windows 2000 , Professional
IMPORTANT : This article contains information about modifying the registry. Before you modify the
registry, make sure to back it up and make sure that you understand how to restore the registry if a
problem occurs.
SYMPTOMS
When using the Performance Monitor tool (or System Monitor Microsoft Management Console [MMC]
snap-in) a performance object may unexpectedly fail to appear in the Performance Object drop-down list
box in the Add To Chart dialog box.
CAUSE
The problem may occur because the extensible performance DLL is marked as "disabled".
RESOLUTION
The object may be reenabled by setting the "Disable Performance Counters" registry value in the
Performance subkey of the supported service for the extension.
STATUS
This behavior is by design.

62

Metso Automation.

maxDNA maxRPM Users Guide

MORE INFORMATION
In versions of Windows NT prior to Windows 2000, one bad or defective performance DLL is able to
render the performance monitoring features of the operating system inoperative. To maintain
the integrity of the performance data and to improve reliability, the performance library of Windows 2000
disables any performance DLL that returns data in the incorrect format, causes an unhandled
program fault, or takes too long to return the performance data (this is usually the cause of a library being
disabled).
When a performance extension DLL is disabled, the performance counters provided by that DLL are not
available through Performance Monitor or the Performance Data Helper API. Disabled DLLs are not
reloaded when the system is restarted.
If a performance extension DLL becomes disabled unexpectedly, check the application event log for event
1017 or 1018 (the "disable" events) posted by the Perflib source. Then look for other events
posted by Perflib that will give the reasons why the system disabled the extension. These events should be
noted if you need to call technical support.
You can try reenabling the extension DLL. If the problem persists (that is, the system disables it again)
you should contact the vendor of the extension. If the object is a Windows 2000 system
object (such as the Process object) contact Microsoft Product Support Services (PSS).
To reenable an extension DLL, Microsoft recommends that you use the ExCtrlList utility from the
Windows 2000 Resource Kit. Alternatively, you can use the Registry editor tool (Regedit.exe)
that ships with Windows 2000.
Reenabling an Extension by Using ExCtrlLst
Start Exctrlst.exe. This is a tool from the Windows 2000 Resource Kit.
Select the first item in the Extensible Performance Counters list box.
Inspect the Performance Counters Enabled checkbox that appears just below the list box. If the checkbox
is selected, the counter is enabled. If it is cleared, then select the checkbox to reenable it.
Select the next item in the Extensible Performance Counters list box and repeat the previous two steps
until all items have the Performance Counters Enabled checkbox selected.
Reenabling an Extension by Using Regedit.exe
WARNING : If you use Registry Editor incorrectly, you may cause serious problems that may require you
to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result
from using Registry Editor incorrectly. Use Registry Editor at your own risk.
Start Regedit.exe. (You cannot use Regedt32.exe because it does not allow searching for registry values.)
Click to select the following key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

63

Metso Automation.

maxDNA maxRPM Users Guide

Select Find from the Edit menu.


In the Find What field, type Disable Performance Counters .
Click Find Next . This will locate a Performance key that may have this Registry value set to 1.
If the Registry value is set to 1, set the value to 0 or delete the Registry value.
Press F3 to find the next occurrence of this Registry value.
Repeat the previous two steps until there are no Performance keys that have the Disable Performance
Counters value set to 1.
NOTE : Often the "Disable Performance Counters" value does not appear in the registry. The value can be
created and given a DWORD value of 1 to disable counters.
2002 Microsoft Corporation. All rights reserved.

64

You might also like