ITUG Summit 2002 - PowerPoint PPT Presentation

About This Presentation
Title:

ITUG Summit 2002

Description:

Subsystem Domains Busy Processes, Files, Selected Processes, RDF, Spooler, TMF ... Data Shared-Memory Architecture Shared-Memory Architecture ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 49
Provided by: BrianG164
Category:

less

Transcript and Presenter's Notes

Title: ITUG Summit 2002


1
ASAP Extension API
joe.davis_at_hp.com
ITUG Summit 2002 2731 October San Jose,
California
2
A Brief Overview of ASAP
  • An Availability Monitoring Infrastructure for HP
    NonStop Servers
  • Engineered specifically for NonStop Server
    Architecture
  • Includes NonStop Server Agents, Process-pairs,
    and Relational Stats SLO Databases
  • Components automatically Restart and Reconfigure,
    even when CPUs or devices go up/down

3
What ASAP is not
  • ASAP is not an Enterprise Management Framework
  • HP OpenView
  • CA Unicenter
  • Tivoli Netview
  • ASAP only provides an availability monitoring
    infrastructure
  • However ASAP does provide
  • System and subsystem agents
  • Published interfaces for custom agents
  • Adapter interfaces to Enterprise Management
    Frameworks

4
What ASAP monitors
  • System Objects
  • CPUs, Disks, Expand LHs, Nodes, Systems, Tape
    Drives,..
  • Subsystem Domains
  • Busy Processes, Files, Selected Processes, RDF,
    Spooler, TMF, ...
  • Application Domains
  • ATMs, Accounts, Customers, Orders, or anything
    else...

5
What ASAP does with its information
  • Generates Alerts
  • EMS events
  • SNMP traps
  • Stores data in a relational database
  • Displays data on ASAP Client
  • Forwards data to Enterprise Management Frameworks

6
ASAP Alerts
02-06-17 114201 \CENTDIV.ZOOK
TANDEM.226.V02 004000 ASAP ALERT Expandip
Ipisl Status Connecting 02-06-17 114201
\CENTDIV.ZOOT TANDEM.226.V02 004000
ASAP ALERT Process Joe Status Down 02-06-17
114202 \CENTDIV.ZOOJ TANDEM.226.V02
004000 ASAP ALERT Disk Rtool1 Status Mirror
Disk Reviving 02-06-17 114902 \CENTDIV.ZOOH2
TANDEM.226.V02 004000 ASAP ALERT Funds
Transfer\Y077 Status Lost Trans 02-06-17
114902 \CENTDIV.ZOOH3 TANDEM.226.V02
004000 ASAP ALERT Atm Chicago\East\Atm2 Status
Cash Low
7
ASAP Client
  • Browsing paradigm for access to objects
  • Graph and Grid views
  • Tree View
  • Object navigation
  • Accesses many objects
  • Drives Graph/Grid
  • State Information
  • Propagated upward
  • always visible state

8
Availability Vectors
  • Illustrates host-based analysis engine
  • Availability is determined by
  • Pre-defined rules (SLO)
  • Analysis of each property of an object
  • Aggregation of data
  • Status, Performance and SLO information presented
    uniformly

9
Registering an Application
ASAPXMON
Registration Request
  • errorASAP_REGISTER_ (
  • domainnamenamelen
  • , segoffset
  • , errordetail
  • , segmentid
  • , segmentbase
  • , version
  • , asapididlen
  • , flags
  • , timeout
  • ) extensible

Shared Memory
10
Updating In-Memory Data
ASAPXMON
  • errorASAP_UPDATE_(
  • segoffset
  • , errordetail
  • , dataitem
  • , value
  • , math
  • ) extensible

Shared Memory
000001
Enabled
007703
Trams A
021005
Broken
Data can be - Counters - Time Units -
Constants - Numeric - Text
11
Shared-Memory Architecture
ASAPXMON
  • Non-Blocking Architecture
  • No inter-process messages
  • No semaphores
  • Ultra-High Performance
  • Memory updates only
  • No App computations/feeds
  • Memory Fully Protected
  • Checksums
  • Boundary tags

Shared Memory
000001
Enabled
007703
Trams A
021005
Broken
12
Shared-Memory Architecture
Aggregates
ASAPXSGP
ASAP
ASAPXMON
ASAPXMON
ASAPXMON
ASAPXMON
ASAPXMON
ASAPXMON
Shared Memory Segment





CPU 0
CPU 1
CPU 2
CPU 3
CPU 4
CPU 5
Extensible
Atm\Server\Authenticate\ 12 Domains
13
Data-Gathering and Computation
02-06-17 114201 \CENTDIV.ZOOK
TANDEM.226.V02 004000 ASAP ALERT Expandip
Ipisl Status Connecting 02-06-17 114201
\CENTDIV.ZOOT TANDEM.226.V02 004000
ASAP ALERT Process Joe Status Down 02-06-17
114202 \CENTDIV.ZOOJ TANDEM.226.V02
004000 ASAP ALERT Disk Rtool1 Status Mirror
Disk Reviving 02-06-17 114902 \CENTDIV.ZOOH2
TANDEM.226.V02 004000 ASAP ALERT Funds
Transfer\Y077 Status Lost Trans 02-06-17
114902 \CENTDIV.ZOOH3 TANDEM.226.V02
004000 ASAP ALERT Atm Chicago\East\Atm2 Status
Cash Low
Alerts
ASAP/X
Data
Enabled
000001
007703
021005
Trams A
Broken
Records
Formulas
ASAP DB
Objectives
Entity Definitions
Objectives
14
Computing Transaction Rate
7703 7219 484 484/60 8.067 If
(8.067 gt 9.000) False -gt State NOT OK
Current Sample
Previous Sample
2 Result
MetricRule Formula
Format
007703
000001
Enabled
Objective Compare
021005
Trams A
Broken
DataItem Type I MetricRule 2/S Format
F5.3 Heading TransRate Objective gt
9.0 Critical
TransRate 8.067 TransRateState
Alert Generate EMS Critical Event
ASAP Sampling Interval 1 minute
15
Representing an Application
Deposits Withdrawals Transfers Inquiries
ATM
Chicago Phoenix Seattle Atlanta
Devices Requesters Servers Database
16
Application Name Space
Business
Service
Developer
17
Determining What to Measure
  • Availability/Health Metrics
  • Transaction Rates
  • Error Rates
  • Response Time
  • Status Indicators
  • Capacity/Historical Metrics
  • Wait times
  • Busy percentages
  • Usage information

18
Consider Multiple ASAP Environments
ASAPXMON
ASAPXMON
  • errorASAP_UPDATE_(
  • segoffset
  • , errordetail
  • , dataitem
  • , value
  • , math
  • ) extensible

Shared Memory Rate 1 minute Health
Monitor
Shared Memory Rate 1 hour Capacity
Monitor
Health Data
Capacity Data
19
Implementation Example
DataItems
  • Determine Application Name Space ?
  • Service View
  • Example Atm\Dallas\East\ParkSt
  • Determine What to Measure ?
  • Cash in ATM
  • Success Percent
  • Response Time
  • Card Reject Count

Cash remaining (C)
0
Transaction count (I)
1
Error count (I)
2
Processing time (U)
3
Card rejects (I)
4
I - integer S,M,U - time units C - constant
20
Define the Application in ASAP EDL
  • First copy APP EDL file from ASAP2APP EDL file
  • Save and modify new file to create the
    Application EDL
  • ENTITY ATM
  • Command "APP\ATM,DETAIL,RAW,TAB,STATE,AGG
    REGATE"
  • Detail "APP,TAB,STATE,DETAIL
  • DataItems "0 C, 1 I, 2 I, 3 U, 4 I"
  • Enabled YES
  • Help ATM Application
  • MaxObjectives 200
  • Version 1.00000

21
Define all Metrics in ASAP EDL
  • Add custom metric (EDL Attribute) definitions to
    the end of new EDL file, copy Error and
    ErrorState attribute pairs.
  • AT Cash Grid YES Graph NO GraphMax 3000
  • Format I6
  • Help Cash remaining in ATM"
  • StatePair YES StateRule UseStateGraphState
  • MetricRule 0"
  • TypeData REAL64
  • AT S0 Grid NO Graph NO GraphMax 9 Help "State of
    Cash "
  • Do not modify any of the other original Attribute
    definitions from the original APP EDL file.

22
Example EDL File
  • ENTITY ATM
  • CI ASAP
  • Command "APP\ATM,DETAIL,RAW,TAB,STATE,A
    GGREGATE"
  • Detail "APP,TAB,STATE,DETAIL"
  • DataItems "0 C, 1 I, 2 I, 3 U, 4 I"
  • Enabled YES ErrorState ErrorState
  • Help "My application description"
  • KeyForNode NodeName KeyForObj Domain
  • KeyForRow "Dateymd Time" MaxObjectives
    200
  • SGPFile ASAPXSGP SGPManaged YES
    SGPSuffix H
  • Reserved NO Version 1.00000

23
Required Header Attributes
  • AT NodeName Grid YES Graph NO GraphMax 0
  • Help "NSK System Name"
  • AT Sysnum Grid NO Graph NO GraphMax 0 Help
    "System Number"
  • AT Domain Grid YES Graph NO GraphMax 0 Help
    "Domain Name"
  • AT Status Grid YES Graph YES GraphMax 0 Help
    "Operational Status
  • StatePair YES StateIsOp YES StateRule
    UseStateGraphState
  • TypeData CHAR15
  • AT OpState Grid NO Graph NO GraphMax 9
  • Help "Operational State"
  • AT Dateymd Grid NO Graph NO GraphMax 0 Help "Date
    of Stats"
  • AT Time Grid YES Graph YES GraphMax 0 Help "Time
    of Stats"

24
Required Header Attributes
  • AT Valid Grid NO Graph NO GraphMax 0 Help
    "Validity Flag"
  • AT ET Grid NO Graph NO GraphMax 0
  • Help "Elapsed Time in Minutes"
  • AT CT Grid NO Graph NO GraphMax 0 Help "Count of
    Attributes"\
  • AT Error Grid YES Graph NO GraphMax 0 Format I4
  • Help "Collection Error StatePair YES
    StateRule UseStateGraphState
  • TypeData INT64
  • AT ErrorState Grid NO Graph NO GraphMax 9 Help
    "State of Error"

Custom attributes go after the Error and
ErrorState Attribute Pair
25
Custom Attributes
  • AT Cash Grid YES Graph NO GraphMax 3000 Format
    "I6
  • Help "Cash remaining in ATM StatePair YES
  • StateRule UseStateGraphState
  • MetricRule "0" TypeData REAL64
  • AT S0 Grid NO Graph NO GraphMax 9 Help "State of
    Cash "
  • AT Success Grid YES Graph NO GraphMax 10000
    Format "F6.2
  • Help Success Percent StatePair YES
  • StateRule UseStateGraphState MetricRule
    "1/(1 2) C100"
  • TypeData REAL64
  • AT S1 Grid NO Graph NO GraphMax 9 Help "State of
    Success"

26
Custom Attributes
  • AT RespTime Grid YES Graph NO GraphMax 10 Format
    "F10.7
  • Help "Server response time StatePair YES
    StateRule
  • UseStateGraphState MetricRule "3/(1 2)"
    TypeData REAL64
  • AT S2 Grid NO Graph NO GraphMax 9 Help "State of
    RespTime "
  • AT Rejects Grid YES Graph NO GraphMax 100 Format
    "I3"
  • Help "Card rejects" StatePair YES StateRule
    UseStateGraphState
  • MetricRule "4" TypeData REAL64
  • AT S3 Grid NO Graph NO GraphMax 9 Help "State of
    Rejects"

27
Complete EDL File
  • ENTITY ATM
  • CI ASAP
  • Command "APP\ATM,DETAIL,RAW,TAB,STATE,A
    GGREGATE"
  • Detail "APP,TAB,STATE,DETAIL"
  • DataItems "0 C, 1 I, 2 I, 3 U, 4 I"
  • Enabled YES ErrorState ErrorState
  • Help "My application description"
  • KeyForNode NodeName KeyForObj Domain
  • KeyForRow "Dateymd Time" MaxObjectives
    200
  • SGPFile ASAPXSGP SGPManaged YES
    SGPSuffix H
  • Reserved NO Version 1.00000
  • AT NodeName Grid YES Graph NO GraphMax 0
  • Help "NSK System Name"
  • AT Sysnum Grid NO Graph NO GraphMax 0 Help
    "System Number"
  • AT Domain Grid YES Graph NO GraphMax 0 Help
    "Domain Name"
  • AT Status Grid YES Graph YES GraphMax 0
  • Help "Operational Status" StatePair YES
    StateIsOp YES
  • StateRule UseStateGraphState TypeData
    CHAR15
  • AT OpState Grid NO Graph NO GraphMax 9
  • AT Error Grid YES Graph NO GraphMax 0 Format I4
  • Help "Collection Error" StatePair YES
    StateRule UseStateGraphState
  • TypeData INT64
  • AT ErrorState Grid NO Graph NO GraphMax 9 Help
    "State of Error"
  • AT Cash Grid YES Graph NO GraphMax 3000 Format
    "I6"
  • Help "Cash remaining in ATM" StatePair YES
    StateRule
  • UseStateGraphState MetricRule "0" TypeData
    REAL64
  • AT S0 Grid NO Graph NO GraphMax 9 Help "State of
    Cash "
  • AT Success Grid YES Graph NO GraphMax 10000
    Format "F6.2
  • Help Success Percent" StatePair YES
    StateRule UseStateGraphState
  • MetricRule "1/(1 2) C100" TypeData
    REAL64
  • AT S1 Grid NO Graph NO GraphMax 9 Help "State of
    TotalRate "
  • AT RespTime Grid YES Graph NO GraphMax 10 Format
    "F10.7
  • Help "Server response time" StatePair YES
    StateRule UseStateGraphState
  • MetricRule "3/(1 2)" TypeData REAL64
  • AT S2 Grid NO Graph NO GraphMax 9 Help "State of
    RespTime "
  • AT Rejects Grid YES Graph NO GraphMax 100 Format
    "I3
  • Help "Card rejects" StatePair YES StateRule
    UseStateGraphState
  • MetricRule "4" TypeData REAL64

28
What Next?
  • Load EDL onto NSK Servers
  • Add Include statement to ASAPUSER file
  • Load EDL onto ASAP Client workstations
  • C\Program Files\Tandem\Asap\Edl
  • Install using Client IDE
  • Test EDL using ASAPXTST API test program
  • Located in ASAPX ISV
  • Implement ASAP API in the Application

29
Enabling the Client IDE
Click here to bring up the Properties sheet
30
Enabling Import/Export EDL
Turn on the IDE to enable File - Import/Export EDL
Double click here to bring up the EDL Properties
sheet
31
Client IDE
Then click the compile button
First, click on your EDL file
32
ASAPXTST
  • ASAPXTST
  • 1 register
  • please enter domainname() atm\test
  • segmentid()
  • segmentbase()
  • version()
  • asapididlen("ZOO"4)
  • flags()
  • timeout()
  • error 0
  • errordetail 0
  • result domain registered
  • 2

The procedure declaration (not shown) is output
here.
33
ASAPXTST
  • 2 update
  • Domains Currently Registered
  • Dmn SegOffset AID F Vs Domain
    Name
  • ----------- ----------------------------
    -------------- -- --- -----------------------
    -----------------------------
  • 0 1308361202 ZOO 0 ATM\TEST
  • select a domain to update() 0
  • segoffset(1308361202)
  • dataitem() 0
  • value() 10
  • math()
  • error 0
  • errordetail 0
  • result domain updated

The procedure declaration (not shown) is output
here.
34
Java
  • public class ASAPX extends java.lang.Object
  • static
  • System.loadLibrary("ASAPXJNI")
  • // Initializer
  • public static final native short
    AsapRegister(java.lang.String Domain,

  • int SegmentOffset,

  • short ErrorDetail)

35
Java
  • public static final native short AsapUpdate
    (int SegmentOffset,

  • short ErrorDetail,

  • short DataItem,

  • long Value,

  • short Math)
  • public static final native short AsapRemove
    (int SegmentOffset,

  • short ErrorDetail,

  • short SegmentID,

  • short Flags)
  • // class ASAPX

36
Java
  • public class MainClass extends java.lang.Object
  • public static void main(java.lang.String
    args)
  • java.lang.String MyAppDomainName
    "CreditCard\\Chicago"
  • int SegmentOffset new
    int1
  • short ErrorDetail new
    short1
  • short ReturnCode
  • ReturnCode ASAPX.AsapRegister(MyAppDomainN
    ame,

  • SegmentOffset,

  • ErrorDetail)
  • if (ReturnCode ! 0)

37
Java
  • System.out.println("Error Could not
    register " MyAppDomainName)
  • System.out.println("Detailed error
    number " ErrorDetail0)
  • System.out.println("Exiting...")
  • return
  • while (true)
  • ReturnCode ASAPX.AsapUpdate(SegmentOffs
    et0, ErrorDetail, (short)0, 1L, (short)0)
  • if (ReturnCode ! 0)
  • System.out.println("Error Could not
    update ASAPX)
  • System.out.println(Detailed error
    number " ErrorDetail0)
  • break

38
Java
  • // Get next request
  • // while loop
  • ReturnCode ASAPX.AsapRemove(SegmentOffset
    0, ErrorDetail, (short)0, (short)1)
  • if (ReturnCode ! 0)
  • // Error removing our domain
  • System.out.println("Error Could not
    remove " MyAppDomainName)
  • System.out.println("Detailed error
    number " ErrorDetail0)
  • System.out.println("Exiting...")
  • // main
  • // class MainClass

39
C
  • ifndef __ASAPBASEH
  • define __ASAPBASEH
  • include "zaspxc.h
  • class AsapBase
  • public
  • AsapBase()
  • virtual AsapBase()
  • short AsapRegister(short flags0)
  • short AsapUpdate(short dataItem, long
    long val, short math0)
  • protected
  • bool Connected long long
    LastTime
  • char Domain64 long
    SegmentOffset
  • endif // __ASAPBASEH

40
C
  • include ASAPBASE.hinclude ltasapxhgt
  • short AsapBaseAsapRegister(short flags)
  • short Error, ErrorDetail
  • long long
  • ThisTime JULIANTIMESTAMP() - LastTime,
  • RetryTime 5000000
  • if(Connected) return 0
  • if(ThisTime lt RetryTime) return 0
  • LastTime JULIANTIMESTAMP()
  • strcopy(Domain,Test\\Domain)
  • error ASAP_REGISTER_(Domain, strlen(Domain),
    SegmentOffset,ErrorDetail)
  • if(error 0)
  • Connected true
  • else lterror handling logicgt

41
C
  • short AsapBaseAsapUpdate(short dataItem, long
    long value, short math)
  • short Error, ErrorDetail
  • short Flags 0
  • if(!Connected)
  • error AsapRegister(Flags)
  • if (error ! 0) return error
  • if (!Connected) return -1
  • error ASAP_UPDATE_(SegmentOffset,
    ErrorDetail, dataItem, value, math)
  • if (error ! 0)
  • lterror logic goes heregt

42
pTAL
  • int(32) asapoffset 0d, .ext
    asapoffset2
  • ?nolist, source zaspxtal
  • ?nolist, source system.system.asapxdec
  • ?library system.system.asapxlib
  • proc doasap(ditem,val,math) extensible int
    ditem int(64) val int math forward
  • proc doasap(ditem,val,math) extensible
  • int ditem int(64) val int math
  • begin
  • string .dname011 "NONSTOP\DEMO"
  • int err 0, errdtl 0
  • if asapoffset 0d then begin
  • _at_asapoffset2 xadr(asapoffset)
  • if (err asap_register_(dname12,
    asapoffset2, errdtl)) ltgt 0 then asapoffset
    0d
  • end
  • if asapoffset 0d then return

43
pTAL
  • if (err asap_update_(asapoffset,errdtl,ditem,
    val, optional(param(math),math))) ltgt 0 then
    begin
  • err asap_remove_(asapoffset,errdtl,,1)
  • asapoffset 0d
  • end
  • end -- of proc doasap

44
ASAPX Feature Review
  • Conversion to ASAP DOTs
  • Multiple Entity/EDL support
  • Built-in attributes
  • Aggregation
  • Status/OpState API
  • Text constants
  • Register timeout

45
ASAPX Futures
  • DataItems increased and configurable
  • In-Memory record retrieval
  • DataItem aggregation control
  • No History mode
  • Java Package
  • C Class Library
  • HP OpenView integration

46
Information Resources
  • www.NonStopASAP.com
  • Presentations
  • Papers, FAQs
  • Online demonstration
  • Education
  • TUT CD 30 Oct. 2001
  • Manuals
  • TIM Independent Products CD
  • Email
  • support_at_nonstopasap.com

47
(No Transcript)
48
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com