© 2005 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice ASAP Hybrid January, 2005 NonStopAsap.com
Jan 12, 2016
© 2005 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice
ASAP Hybrid
January, 2005
NonStopAsap.com
January 2005 ASAP Hybrid 2
Contents
ASAP Hybrid Overview
Architecture
Product Components
Service and Support
Installation
Configuration
Linux API
Instrumenting Applications
Compiling Applications
Status Information
Removing Domains
Trace Options
Benefits
January 2005 ASAP Hybrid 3
ASAP Hybrid Overview
Extends ASAP application monitoring capabilities to Linux• Linux applications call an API to register domains and
update counters• Same high performance, non blocking, shared-memory
architecture on Linux• Hybrid Server on Linux sends application data to Hybrid
Gateway on NonStop Server
ASAP integrates Linux application data with NSK application data• Hybrid Gateway passes data to ASAP via shared memory• ASAP processes the data, computes attributes, determines
alert levels, does alerting and notifications, stores the data for historical purposes, etc.
January 2005 ASAP Hybrid 4
ASAP Hybrid Architecture
ASAP Monitored NSK Node
ASAP Hybrid Gateway
ASAP Application Infrastructure
Aggregates Objectives
Alerting
Analysis
Automation
ASAP Proxy SGP
Shared Memory
ASAP Collector NSK Node
ASAP Collector
ASAP DB
Linux System
Application
ASAP Lib
ASAP Hybrid Linux Server
Application
ASAP Lib
Shared Memory
Linux System
Application
ASAP Lib
ASAP Hybrid Linux Server
Application
ASAP Lib
Shared Memory
January 2005 ASAP Hybrid 5
Linux Components
Hybrid Linux API Library• ASAP Extension API tailored for Linux
• Applications link to static or shared library and make procedure calls to register and update counters
• Thread-safe and non-thread-safe variants
Hybrid Linux Server• Captures application counters and routes them to a
NonStop Server
• Monitors domains to detect and report failures
• Reports on the status of domains
• Executes as a daemon (background process)
January 2005 ASAP Hybrid 6
NonStop Server Components
Proxy SGP• An ASAP SGP process
• Starts and manages all Gateway processes
• Passes commands to Gateway processes
Hybrid Gateway• Opens a unique IP address/port and waits for data from
Linux systems
• One Gateway can support many Linux servers
• Passes domain data to ASAP via shared-memory
• Reports on the status of itself in the Hybrid entity
• Can run many Gateway processes
January 2005 ASAP Hybrid 7
Service and Support
http://NonStopASAP.com• Latest ASAP news and information
• Presentations
• Downloads
HP Global Support• Report problems
• Make formal enhancement requests
mailto:[email protected]• Contact product development team
January 2005 ASAP Hybrid 8
Installing Hybrid for NonStop Server
Use IPSETUP to place the files on your NonStop Server• You may choose to use DSM/SCM
• If not IPSETUP will place the files correctly
• Install where ASAP is installed ($SYSTEM.SYSTEM)
Edit the ASAPCONF file then add:• SET PROXY ON
• SET APP ON (if not already on)
You might also need the following optional commands:• SET PROXYCPU <n>
• SET PROXYOBJECT $<volume>.<subvolume>.ASAPPXY
• SET PROXYCONFIG $<volume>.<subvolume>.<filename>
January 2005 ASAP Hybrid 9
Installing Hybrid for NonStop Server
Edit the Proxy SGP configuration file• The default location is $SYSTEM.SYSTEM.ASAPPCNF
• For systems with multiple ASAP environments the Proxy SGP configuration file should be in the same subvolume as ASAPCONF
• Modify the default GATEWAY statement as needed
• Add additional GATEWAY statements if needed
• Each Gateway process defined requires a unique configuration file and should be started in a separate CPU
• ASAPXMON must be executing in the processor where a Gateway process executes
January 2005 ASAP Hybrid 10
Installing Hybrid for NonStop Server
Edit the Gateway configuration file(s) and modify the CONFIG statement• Each Gateway process must have a unique TCP/IP address
and port number combination (default $ZTC0, port 6301)
• Does not currently support Parallel TCP or IPV6
• Add “ENTITY ON” to the CONFIG statement if you want the Gateway to report on itself
• Add “ASAPID $<asapid>” if the ASAP ID is not $ZOO
• Use default ASAPX/Hybrid MaxDomains setting
Edit the ASAPUSER file if using “ENTITY ON”• Add new INCLUDE statement for ASAP2HYB EDL file
• Default location is $SYSTEM.SYSTEM.ASAP2HYB
January 2005 ASAP Hybrid 11
Installing Hybrid for NonStop Server
Start EMSA, an EMS Distributor, a Web Viewpoint session, or some other means to see EMS events• The Proxy SGP writes to EMS and ASAPLOG
• The Gateway processes only write events to the EMS log
Restart ASAP• Watch for any errors that might be reported during startup
January 2005 ASAP Hybrid 12
Installing ASAP Hybrid on Linux
Copy Archive to empty Linux Directory then Extract Files• tar –xzvf asaphybridforlinux.1.0.7.tar.gz• Creates bin, doc, include, lib and sample subdirectories
Create asap.conf using asap.conf.sample• Must reside in same directory as Hybrid Server executable
Edit asap.conf and enter configuration settings• RemoteIPAddress must be Gateway’s IP address• RemotePort must be Gateway’s port• SampleInterval should be at least once per ASAP interval• Change other settings if needed (not recommended)
Start Hybrid Linux Server (./asapxserver)• Add to system startup script
January 2005 ASAP Hybrid 13
ASAP Hybrid Linux API
Functionally equivalent to ASAPX API• Thread safe versions added
• Minor tailoring for Linux
API Calls• asap_register
• asap_update, asap_update_ts
• asap_updatelist, asap_updatelist_ts
• asap_opstate, asap_opstate_ts
• asap_control, asap_control_ts
• asap_remove, asap_remove_ts
( _ts = thread safe variants)
January 2005 ASAP Hybrid 14
Instrumenting Applications
Decide What to Instrument• Transaction rates, Service times, etc.
Decide How you Want the Data Grouped\Displayed• Design ASAP domain names
Define Application using ASAP Entity Definition Language (EDL)• Use ASAP2APP file as starting point
• See ASAP Extension and ASAP Client Manuals
• Send EDL questions to [email protected]
January 2005 ASAP Hybrid 15
Instrumenting Applications
Develop a wrapper to front-end the ASAP API (or not) for encapsulation and easy maintenance• Make registration a function of update
• Recommend timed re-registrations
Instrument the application with wrapper (or ASAP API) calls• Call asap_register to register an application domain(s)
• Call asap_update or asap_updatelist to update data directly in memory
• Call asap_remove when shutting down in an orderly fashion
• Optionally call asap_opstate or asap_control if needed
January 2005 ASAP Hybrid 16
Compiling Applications
Add ASAP header file• #include “asapx.h”
Modify make file to search in ASAP lib directory
Link to Linux PThreads library • libpthread
• Even if not using thread safe variants
Decide which ASAP library to use• libasapx.a (32-bit static)
• libasapx64.a (64-bit static)
• libasapx.so (32-bit shared)
• libasapx64.so (64-bit shared)
January 2005 ASAP Hybrid 17
Compiling Applications
Fix Search Path if using Shared Library• If library is not copied to /usr/lib
• Update /etc/ld.so.conf with library path
• Or modify LD_LIBRARY_PATH variable
January 2005 ASAP Hybrid 18
Getting Status Information on NSK
Event Management Service (EMS)• All NSK components write events to EMS
STATUS PROXY• Returns status from the Proxy SGP
• Gateway processes being managed
STATUS PROXY $<gateway>• Returns status from the specified gateway
• Numbers of Linux systems and domains
January 2005 ASAP Hybrid 19
Hybrid Gateway Status
January 2005 ASAP Hybrid 20
Getting Status Information on Linux
asaplog.html• Message log file
• Logging controlled by asap.conf settings
• Various levels of detail supported
asapdomains.html• Detailed domain information
• Located in same directory as Hybrid Server executable
• Controlled by HTMLStatus setting in asap.conf
kill –s SIGHUP <server PID>• asapxserver will dynamically reload asap.conf
January 2005 ASAP Hybrid 21
asapdomain.html
January 2005 ASAP Hybrid 22
Removing Domains on Linux
Call asap_remove• Always the preferred method !• asapxserver waits until NSK has acknowledged removal
./asapremove [<domain> [ <domain> ]]• When the application cannot call asap_remove• Domains must be down• Domains remain in Pending Remove state until NSK knows• Enter 2 backslashes if not interactive (my\\domain\\name)
kill –s SIGUSR1 <server PID>• Signals asapxserver to remove all down domains
kill –s SIGUSR2 <server PID>• Signals asapxserver to force removal of Pending domains
January 2005 ASAP Hybrid 23
Removing Domains on NSK
STATUS PROXY $<gateway> REMOVE <domain>[*] [FORCE]• INACTIVE domains removed immediately
• DOWN domains removed after Linux is notified
• UP or REGISTERING domains are not removed
• FORCE removes the domain(s) regardless of state
• Domains can come back if they still exist on Linux
MONITOR <entity>, REMOVE [, FORCE]• To remove domains that no longer exist on Linux or in the
Hybrid environment
• Do not use if domains can be removed in other ways
January 2005 ASAP Hybrid 24
Trace Options
Linux – asaptrace.html• Traces internal messages and structures
• Controlled by asap.conf settings
• Various levels of detail supported
NSK – STATUS PROXY $<gateway> TRACE <file> [DETAIL|DATA]• Traces messages received from Linux
• DETAIL returns trace data for each domain
• DATA returns domain data plus actual data values
• STATUS PROXY $<gateway> TRACE STOP
January 2005 ASAP Hybrid 25
Benefits
Provides a view inside your Linux-based applications
High performance, non-blocking architecture
Highly scalable
Stores Linux application metrics on NonStop server
Can provide an aggregate view of applications across all NSK servers and all Linux servers
All the features and benefits of ASAP which are too numerous to mention here
Thanks for attending this presentation!