sample management pack specification€¦ · web viewsample management pack specification contoso...

24
Sample Management Pack Specification Contoso POS Version 1.0 March 21, 2011 This is a sample specification for a System Center Operations Manager 2007 R2 management pack supporting a line of business application. The application described in this document is completely fictional but does include aspects of different real world applications taken from different customers. A variety of requirements were collected in order to illustrate different common and challenging scenarios. The purpose of this sample is to illustrate a process for designing a management pack. This basic process is as follows: 1. Briefly document the application breaking it into distinct groupings. 2. Design a service model comprised of the following: a. Application Roles and Components b. Health Rollups c. Relationships with existing objects 3. Identify the functionality and potential problems for each class in the service model. 4. Define monitors and rules to measure the health of each class and identify each potential problem. 1

Upload: others

Post on 04-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

Sample Management Pack SpecificationContoso POSVersion 1.0March 21, 2011

This is a sample specification for a System Center Operations Manager 2007 R2 management pack supporting a line of business application. The application described in this document is completely fictional but does include aspects of different real world applications taken from different customers. A variety of requirements were collected in order to illustrate different common and challenging scenarios.

The purpose of this sample is to illustrate a process for designing a management pack. This basic process is as follows:

1. Briefly document the application breaking it into distinct groupings.2. Design a service model comprised of the following:

a. Application Roles and Componentsb. Health Rollupsc. Relationships with existing objects

3. Identify the functionality and potential problems for each class in the service model.4. Define monitors and rules to measure the health of each class and identify each potential

problem.

1

Page 2: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

1 Application Overview

1.1 High Level ArchitectureThere are two distinct environments to the Contoso automated sales environment. First is the POS environment which includes POS Terminals and the local resources on the Store Server. This is a fully contained environment located at each store. There are currently 53 stores for Contoso meaning that there are 53 store environments.

The Contoso eComm environment is the customer facing web based commerce application and also includes the back end databases and connection to the host and business partners. In addition to supporting online customer shopping, the back end consolidates data from the store servers and updates these local data stores with updated product and pricing information from the data on the host.

There is a nightly process that copies data between the central data store and each store database. The store is fully functional if this process is not operational, but its local pricing and product information may become stale. In addition, the back end services rely on inventory information from the local stores to make purchasing decisions with suppliers.

Figure 1 illustrates the high level architecture while the following sections provide a brief summary on the illustrated components.

2

Page 3: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

--

Figure 1 - High Level Architecture

3

Page 4: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

1.2 Stores

1.2.1 POS TerminalsThe POS Terminal is a proprietary computer running Windows 7 and the ContosoPOS client application. Each terminal will have multiple peripheral devices such as card readers and touchscreens attached to it. Each store will typically have the following number of terminals depending on their size.

Small: Fewer than 10 terminalsMedium: 10-20 terminalsLarge: 20-30 terminals

1.2.1.1 ContosoPOS ApplicationThis is the interactive client application that runs on all POS Terminals. When the terminal is started, it will automatically logon and start the ContosoPOS application. The attendant logs into the application using credentials stored in the POCSConfig database.

1.2.1.2 ContosoPOS ServiceThe POSDevices Windows service runs on each POS terminal and manages all connected devices. It reads from the POSConfig database on the Store server to determine the specific local devices that should be connected and then communicates with the devices reporting their status and any errors.

1.2.1.3 Credit ConnectionWhen a credit card transaction is performed on a POS terminal, the ContosoPOS application connects to the CreditConnection service for card validation. This is a secure connection across the Internet using a proprietary protocol.

1.2.2 Store ServerEach store has an identically configured Store Server that supports the POS Terminals at that store. The terminals will access this server on startup and during every transaction. If the server is unavailable, the terminals will still be able to complete a transaction with limited information. The purchase data will cache locally and then write to the server when it comes available.

1.2.2.1 POSExpress Admin ServiceThe Admin service supports the POS Express Admin application which installed on any client workstation. This application allows the store administrator to perform such actions as create and manage user accounts, view user activity, and manage terminals.

1.2.2.2 POSExpress Client Connection ServiceTerminals connect to the client connection service both for configuration and security information and for inventory and sales data. It provides the connection to the Store database and the POSConfig database for these functions.

4

Page 5: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

1.2.2.3 OrderProcessing ServiceThe OrderProcessing Service is responsible for processing orders as they are received and putting them into the Orders queue at the central data center. It typically runs on the Store Server but at large stores, it may be installed on a dedicated server.

1.2.2.4 POSConfig DatabaseSQL Database that holds the user and terminal configuration information. The terminals connect to this database through the POSExpress Client Service to read configuration information and then cache it locally. The Admin Service provides services for updating this database.

1.2.2.5 Store DatabaseHolds inventory and pricing information for the local store. This is replicated on a nightly basis from the central database. All purchases are also written to this database and are then replicated up to the central database.

1.3 eComm Web SiteThe eComm web site is available to customers at www.contoso.com and allows product information and purchases. Users register with the site by providing their personal information and are then able to complete purchases. Anonymous users may browse the site and lookup product information.

1.3.1 Web ServersThere are 5 front end web servers running Internet Information Services on Windows Server 2003 and load balanced using NLB. The servers are named WEBECMXX where XX is an incremental number – currently from 01-05.

1.3.1.1 Web SiteEach web server has a single site called eComm which is configured for ASP.NET 2.0.50727. The site uses forms based authentication with user credentials stored in the Customer database.

1.3.2 Application ServersThree application servers hold web services that perform the business logic for the commerce site and that connect to the back end databases. The servers are named WEBAPPXX where XX is an incremental number – currently from 01-03.

1.3.2.1 Web ServicesThe front end application on the eComm web site calls the web services for execution of business logic and connection to the backend databases.

Table 1 - Web Services

Name FunctionLogin Verifies user credentials and logs them inAccount Management Create user and modify informationProduct Lookup Performs product searches and provides

product detail and pricing informationBasket Management Add, remove, modify items in basket

5

Page 6: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

Order submit Submits an orderAuthorize Payment Authorizes a credit card payment with Credit

Connection

1.3.3 Central Order ProcessingThe Central Order Processing service picks up orders from the queues populated by the OrderProcessing service from the stores and processes them into the Orders database where they can be picked up for fulfillment. A separate queue is maintained for each store.

6

Page 7: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

2 Service Model

2.1 Classes OverviewFigure 2 gives an overview of the application structure defined in this management pack. Details on each class are provided below.

Figure 2 - Service Model

2.2 Class DetailsThe following tables provide the details of each class to be created in the management pack. This includes the properties of the class, what it represents, and its potential methods for discovery. It is expected that this information is sufficient to construct the actual classes and discoveries in the management pack.

2.2.1 TerminalsName Represents Properties Discovery MethodPOSTerminal Point of Sale

Terminal which is a proprietary device running Windows 7

Hardware VersionBIOS VersionSerial NumberStore Number

The Manufacturer property from the WMI class Win32_ComputerSystem will contain the string “Contoso”.

7

Page 8: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

and the POS client application.

ExecutablePathVersion Computer properties available

in the WMI class.

Application properties available in Registry key HKLM\SOFTWARE\Contoso\POS

POSDevice Printer Receipt printer connected to terminal

Serial NumberModel NumberDevice TypeConnectedTerminalFirmware Version

Discovered on each terminal using a script against the POSDevice service. Sample shown below.POSDevice Card

ReaderCredit Card scanner connected to terminal

POSDevice Cash Drawer

Cash drawer connected to terminal

2.2.1.1 POS DevicesThe POS Device service communicates with the different hardware devices that are supported by the POS Terminal. It obtains this information from the Store POSConfig database. The service has a scriptable interface that can be used to collect the inventory of devices. The script will not communicate directly with the devices themselves but will use information that the service reads from the POSConfig database.

Set oPOS = CreateObject("POSExpress.POSDevice ")Set cDevices = oPOS.DevicesFor Each oDevice in cDevices

WScript.Echo oDevice.ModelWScript.Echo oDevice.SerialNumberWScript.Echo oDevice.Firmware

Next

2.2.2 Store Server

Name Represents Properties Discovery MethodStore Server Connection services

on Store Server.StoreCode Option 1: Check for the

existence of services named ContosoClient and ContosoAdmin services. Both will always be installed together.

Option 2: Check for the existence of the registry key HKLM\SOFTWARE\Contoso\POS.

Store Code can be retrieved from the StoreCode value under

8

Page 9: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

the Contoso\POS key.Order Processing Order Processing

Service on Store Server. Separate class defined to track availability.

Check for the existence of services named ContosoOrderProc.

2.2.3 Central Processing

Name Represents Properties Discovery MethodCentral Order Processing

Service that selects orders from the store queues and processes them into the Orders database.

QueueLocationDatabaseServerDatabaseName

Check for the existence of the registry key HKLM\SOFTWARE\Contoso\POS. Each property name is available in a registry value.

Store Queue Queue for a single store.

StoreCodeQueuePath

A script against the file system is required to locate the queues. It should search in the folder specified in the QueueLocation property and create an instance for each subfolder. The name of the subfolder will be the StoreCode. The QueuePath property should contain the full path to the folder including the drive letter.

2.2.4 Web SiteName Represents Properties Discovery MethodContoso Application Server

Application server hosting back end web services.

- Check for the existence of a web site called ContosoApp.

2.2.5 Health Rollups

Name Represents Properties Discovery MethodContosoPOS Application and all

components- Contains the Central

and Stores rollup classes.

Central Central data center. Contains all components in the central data center.

- Contains all instances of Central Order Processing and Contoso Application Server. Contains targets in

9

Page 10: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

Additional Relationships table below.

Stores All stores. Used to track store availability compared to central.

- Contains all instances of the Store class

Store Single store. Contains all components within the store.

StoreCodeStoreLocationStoreSize

The list of stores and their details are available in a table called Stores in the ContosoPOS database on COSQL03. A script should be used to access this table for discovery of the Store class.

The StoreCode is available on each Store Server and Terminal to determine the containment relationships.

2.2.6 Additional RelationshipsThe following table lists the objects discovered by other management packs that should be included in the Contoso POS Application.

Name Class Parent Discovery MethodOrders Database Central SQL Database named OrdersInventory Database Central SQL Database named InventoryCustomer Database Central SQL Database named CustomerOrders Web Site Central IIS Web Site named Orders

10

Page 11: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

3 Health Model

3.1 Health Measurements WorksheetThe following tables define the primary functions for each class defined in the Service Model. This information will be translated into the definitions for monitors and rules in the following section.

3.1.1 POS TerminalFunction Potential problems Detection DetailsLogon to POS application

Application not running Monitor validating that process is running.

Process name is pos.exe. A single instance should be running at all times.

Connection to Client Connection service

TCP monitor from terminal to StoreServer

The service listens on port 5833.

Failed credentials No test required. Does not indicate a failure.

Should log for tracking purposes. A record is written to the posacct.log file located in c:\pos with the a result code of 03. Log is comma delimited with following fields:

Date, Time, TerminalName, UserName, ResultCode

Allow operator to enter order

Application not running Monitor validating that process is running.

Process name is pos.exe. A single instance should be running at all times.

Connection to Client Connection service

TCP monitor from terminal to StoreServer

The service listens on port 5833.

Client Connection service returns an error

No means of detection. This can’t be detected without submitting an actual order. Will rely on the monitoring for the Store Server.

Read status of peripherals

Contoso Device service not running

Monitoring validating service is running.

Service name is ContosoDevice.

Unable to access POSCOnfig database

Windows Event The POS Device service will log an event each time it attempts a connection to the POS Config database. The source will be POSDevice. The event numbers will be as follows:210: Successful connection211: Server or database not found212: Connection refused213: Database not configured properly.

Accept credit card

Card reader inoperable Dependency on card reader class

-

Print receipt Printer inoperable Dependency on printer -

11

Page 12: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

classAccess cash drawer

Cash drawer inoperable Dependency on cash drawer class

-

3.1.2 POSDevicesThe information for the device monitors can be obtained from a script against the POSDevice service. Sample code is shown below.

Set oPOS = CreateObject("Contoso.POSDevice")For Each oDevice in oPOS.Devices

Wscript.Echo oDevice.SerialNumber

'Status = 0 if device is not available, 1 if on and no error'If device is in error, then status will be error number which is > 1WScript.Echo oDevice.Status

'MaintRequired = 0 if No and 1 if YesWScript.Echo oDevice.MaintRequired

'Lifetime will be number of days remaining in expected lifeWScript.Echo oDevice.LifeLeft

Next

Code Sample 1 - POS Device Status

Class Function Potential problems

Detection Details

All Connected Not plugged in / powered off

Value returned from the Status property of the Device object in the script

0 – Device is either powered off or not present>1 – Device is online with no errors

General operation Maintenance Required

Value returned from the MaintRequired property of the Device object in the script

0 – Maintenance not required1 – Maintenance required

End of life Value returned from the LifeLeft property of the Device object in the script.

The value will be in days. If the value is 0 or less, then the lifetime rating of the device has been met.

Less than or equal 0 – Lifetime reachedLess than 30 – Lifetime within a month. Warning.Greater than 30 – Lifetime not reached

POSDevice Printer

Print receipts Ink level If the device is a printer, then a InkLevel property will be returned.

The value will be the percent ink level.

Less than 0.2 – WarningLess than 0.1 - Error

POSDevice Scan credit card Credit If the device is a card 0 – Success

12

Page 13: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

Card Reader

Connection reader, then a CreditConnect property will be returned. This will return a status for the last connection attempt.

1 – Failure

An error should only be reported if 3 consecutive failures are received.

3.1.3 Store ServerFunction Potential problems Detection DetailsAllow terminal connection

Client Connection Service not running

Monitor checking running state of service

Service name is ClientConnection.

No connection to Store database

Local ODBC monitor The name of the database is POSConfig and will be located on the local computer.

Windows Event Source: ClientConnectionNumber: 2036Description contains reason for the failure.

Event is logged whenever there is a problem connecting to the Store database. There is no corresponding event indicating a successful connection.

Allow admin connection

Admin Service not running

Monitor checking running state of service

Service name is POSAdmin.

No connection to Config database

Local ODBC monitor The name of the database is POSConfig and will be located on the local computer.

Windows Event Source: POSAdminNumber: 2036Description contains reason for the failure.

Event is logged whenever there is a problem connecting to the Store database. There is no corresponding event indicating a successful connection.

Accept an order Client Connection service not running

Monitor checking running state of service

Service name is ClientConnection.

Unable to write to database

Windows Event Source: ClientConnectionNumber: 2037Description contains details of the failure.

Support POSDevice service

No connection to Config database

Local ODBC monitor The name of the database is POSConfig and will be located on the local computer.

13

Page 14: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

3.1.4 Store Order ProcessingFunction Potential problems Detection DetailsSend Order to Central Queue

Can’t connect to central share

Windows Event Source: OrderProcessingNumber: 2041Description contains error message returned.

There is no corresponding event indicating a successful connection.

Server not found Windows Event Source: OrderProcessingNumber: 2042

There is no corresponding event indicating a successful connection.

3.1.5 Central Order ProcessingFunction Potential problems Detection DetailsProcess Orders Service not running Monitor checking running

state of serviceService name is CentralOrder.

No connection to Orders database

Local ODBC monitor The name of the server and database can be retrieved from properties on the Central Order Processing class.

Windows Event Source: CentralOrderNumber: 2043Description contains reason for the failure.

Event is logged whenever there is a problem connecting to the database. There is no corresponding event indicating a successful connection.

3.1.6 Store QueueFunction Potential problems Detection DetailsProcess Orders Entry with bad

configurationWindows Event Source: CentralOrder

Number: 2052Param1 contains the store code

This should not correspond to a health state since it does not represent a failure in the application. An alert should be created for the condition though.

Backlog in processing Two measures can be used for this problem.

Oldest entryWarning: 20 minutes

14

Page 15: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

The entry will remain in the queue without being processed. This can be detected by comparing the creation time of the entry to the current time.

An excess number of entries in the queue can also indicate a backlog.

Error: 30 minutes

Number of entriesWarning: 10Error: 20

3.1.7 Web Sites and Web ServicesThe eComm web site and each of the web services can be tested by synthetic transactions simulating a user from the browser. We are currently working with the application team to provide events from the web services that we can use to better identify root cause of identified problems. Until that point, root cause will need to be identified manually upon support personnel being alerted to a failure in one of the transactions.

The following table lists a set of transactions that should be performed against the application and the criteria for success from each one. The test user account is ContosoTest with a password of P@$$w0Rd. Any order submitted by this user will be ignored, so that testing can be safely performed.

Function Details Success Criteria Response Time ExpectedHome Page Connect to

www.contoso.comReturn code = 200 2 seconds

Logon There is a name and password box on the home page. Provide the credentials of the test user and select Logon.

Text on page should include “Hello,” followed by the user’s name.

5 seconds

Perform a product search

There will be 3-5 suggested products listed on the home page. The HTML will include the product number and description for each.

There will be a search box on the home page. Perform a search using the description of the first item.

Ensure that the expected product number is included in the returned list of products.

2 seconds

Add item to shopping cart

Select the details for the searched product and add it to the shopping cart with the Order button.

The page will be updated with a count of the items in the basket.

2 seconds

15

Page 16: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

View shopping cart Select the View Shopping Cart button.

Shopping cart will be returned and include the item just ordered.

1 second.

Place order Select the Proceed to checkout button.

A review page will be presented that includes the item just ordered.

1 second

Select the Order button. There is no requirement for billing information since this is already stored with the test account.

A page will be returned with the text “Your order has been placed.”

2 seconds

16

Page 17: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

3.2 MonitorsThis section defines the monitors that should be created in the management pack. These elements are based on the definitions in the Health Model worksheets in the previous section.

3.2.1 Store

3.2.1.1 TerminalTarget Name Type DetailsPOS Terminal POS Client Application Process Process name is pos.exe.

Generate alert.Connection to Store Server TCP Connect to port 5833 every 5

minutes.Generate alert.

Devices Aggregate Generate an alert. All alerts underneath this aggregate should not generate an alert.

Device Service Service Service name is ContosoDevice.Configuration Database Event Source: POSDevice

Healthy Event: 210Error Events: 211,212,213

Device Health Dependency Dependency on each attached device.

POS Device Powered On Script Single script can be used for all devices and error conditions. Should be run every 5 minutes.

Details of each script and condition in section 3.1.2.

No alert.

Maintenance ScriptEnd Of Life Script

POS Device Printer

Ink Level Script

POS Device Card Reader

Credit Connection Script

3.2.1.2 Store ServerTarget Name Type DetailsStore Server Client Connection Aggregate Generate an alert. All alerts

underneath this aggregate should not generate an alert.

Client Connection Service Service Service name is ClientConnectionStore Database Transactions Windows Event

Timer ResetSource: ClientConnectionError Events: 2036,2037Timer rest after 30 minutes

Admin Connection Aggregate Generate an alert. All alerts underneath this aggregate should not generate an alert.

Admin Service Service Service name is POSAdminPOSConfig Database Transactions

Windows EventTimer Reset

Source: POSAdminError Events: 2036Timer rest after 60 minutes

Order Processing Dependency Dependency on the Order

17

Page 18: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

Processing class.Generate alert.

Order Processing

Order Processing Service Service Service Name is OrderProcessing.No alert.

Connection to Central Processing Windows EventTimer Reset

Source: OrderProcessingError Events: 2041, 2042Timer rest after 30 minutesNo alert.

3.2.2 Central

3.2.2.1 Order ProcessingTarget Name Type DetailsCentral Order Processing

Order Processing Service Service Service Name is CentralOrderOrders Database ODBC Server and database name can be

retrieved from properties on the class.

Connection to Orders Database Windows EventTimer Reset

Source: CentralOrderError Events: 2043Timer rest after 10 minutes

Store Queue Queue Length Single script that returns both values.

Warning: 10 entriesError: 20 entries

Oldest Entry Warning: 20 minutesError: 20 minutes

3.3 RulesThis section defines rules that should be created in the management pack. These elements are based on the definitions in the Health Model worksheets in the previous section.

Target Name Type DetailsPOS Terminal Collect failed logons Text Log Collection Log file is c:\pos\posacct.log.

Result code 03 indicates an error.

POS Device Collect device connect/disconnect events

Windows Events Source: POSDeviceEvent: 362

Client Connection Service

Collect processor utilization Performance Collection Service name is ClientConnection

Collect memory utilization Performance Collection Service name is ClientConnection

Admin Service Collect processor utilization Performance Collection Service name is POSAdminCollect memory utilization Performance Collection Service name is POSAdmin

Order Processing Service

Collect processor utilization Performance Collection Service name is OrderProcessingCollect memory utilization Performance Collection Service name is OrderProcessing

Central Order Processing

Collect processor utilization Performance Collection Service name is OrderProcessingCollect memory utilization Performance Collection Service name is OrderProcessing

18

Page 19: Sample Management Pack Specification€¦ · Web viewSample Management Pack Specification Contoso POS Version 1.0March 21, 2011 This is a sample specification for a System Center

19