Documentation forServer & Application Monitor
Monitoring your applications and environment is a key capability of SolarWinds Observability Self-Hosted (formerly Hybrid Cloud Observability) and is available in the Essentials edition. Server & Application Monitor (SAM) is also available in a standalone module.

Progress Database (Linux and Unix)

This template assesses the status and overall performance of a Progress Database installed on Unix/Linux systems. This template uses Perl scripts and the SNMP process monitor.

Prerequisites

SSH, Perl installed on the target server and SNMP access to monitor the “_mprosrv” process.

Credentials

Root credentials on the target server.

This template was created and tested on the Progress Database v11.1. Some components in “Records Statistics”, “Database Activity Summary 1” and “Database Activity Summary 2” monitors may not correctly return information on different versions.

You should manually check your promon output and compare it to this one. To get this screen you need to execute the following commands:

promon /usr/wrk/test1.db

Inside promon you should select the following ordered options:

  • R&D. Advanced options
  • 2. Activity Displays
  • 1. Summary

Arguments in Linux/Unix monitors

All Perl scripts use the same argument structure:

perl ${SCRIPT} path_to_promon path_to_db

where

  • path_to_promon – Full path to promon utility
  • path_to_db – Full path to monitoring database file with .db extension

Example:
perl ${SCRIPT} "/usr/bin/promon" "/usr/wrk/test1.db"

Component monitors

Click here for an overview about SAM application monitor templates and component monitors. SAM API Poller templates are also available.

Records Statistics

This monitor returns records statistics of the Progress Database. Returned values are as follows:

  • Record Reads – This component returns the number of read records.
  • Record Updates – This component returns the number of updated records.
  • Record Creates – This component returns the number of created records.
  • Record Deletes – This component returns the number of deleted records.
  • Record Locks – This component returns the number of used locks on records.
  • Record Waits – This component returns the number of users waited to gain access to locked records.

By default, this monitor has the Count statistic as difference box checked. It will show the new statistic since the last polling period.

Database Activity Summary 1

This monitor returns database activity summary. Returned values are as follows:

  • Commits – This component returns the number of committed transactions.
  • Undos – This component returns the number of canceled transactions.
  • DB Reads – This component returns the number of read blocks from database.
  • DB Writes – This component returns the number of written blocks to disk.
  • BI Reads – This component returns the number of read BI blocks.
  • BI Writes – This component returns the number of written BI blocks to disk.
  • AI Writes – This component returns the number of written AI blocks to disk.
  • Active trans – This component returns the number of active transactions.

By default, this monitor has the Count statistic as difference box checked. It will show the new statistic since the last polling period.

Database Activity Summary 2

This monitor returns database activity summary. Returned values are as follows:

  • Rec Lock Waits perc – This component monitor returns the percentage of all requests to records that were waiting for unlocking. The returned value should be as low as possible. You should make your transactions as short as possible.
  • BI Buf Waits perc – This component monitor returns the percentage of waiting for BI (Before-Image) buffers. This wait occurs when the database manager is waiting for BI buffers. The returned value should be as low as possible. If the returned value is large, you should increase the number of buffers with the database startup argument -bibufs.
  • AI Buf Waits perc – This component monitor returns the percentage of waiting for AI (After-Image) buffers. This wait occurs when the database manager is waiting for AI buffers. The returned value should be as low as possible. If the returned value is large, you should increase the number of buffers with the database startup argument -aibufs.
  • Writes by APW perc – This component monitor returns the percentage of written to disk blocks by using APW. The returned value should be as high as possible. If the returned value is low, you should increase the number of APW processes and increase the cluster size.
  • Writes by BIW perc – This component monitor returns the percentage of written to disk blocks by using BIW. The returned value should be as high as possible. If the returned value is low, you should increase the number of buffers with the database startup argument -bibufs.
  • Writes by AIW perc – This component monitor returns the percentage of written to disk blocks by using AIW. The returned value should be as high as possible. If the returned value is low, you should increase the number of buffers with the database startup argument -aibufs.
  • DB Size – This component monitor returns the database size. The measured unit is shown in the returned message.
  • BI Size – This component monitor returns the size of BI file. The measured unit is shown in the returned message.
  • AI Size – This component monitor returns the size of AI file. The measured unit is shown in the returned message.
  • Buffer Hits perc – This component monitor returns the number of buffer hits in a percentage format. The returned value should be near 100%. You can increase the number of buffers by using the -B argument.

Database Status and Buffers

This monitor returns the database status and buffer statistics. Returned values are as follows:

  • Empty blocks – This component monitor returns the number of empty database blocks (never used).
  • Empty blocks perc – This component monitor returns the number of empty database blocks (never used) in a percent format.
  • Free blocks – This component monitor returns the number of free database blocks (were used before but now they are free).
  • Free blocks perc – This component monitor returns the number of free database blocks (were used before but now they are free) in a percent format.
  • RM blocks with free space – This component monitor returns the number of blocks in RM. RM chains consist of partially filled blocks of the database.
  • RM blocks with free space perc – This component monitor returns the number of blocks in RM in a percent format. RM chains consist of partially filled blocks of the database.
  • Highest table number defined – This component monitor returns the table's number.
  • Used buffers – This component monitor returns the number of buffers currently in use.
  • Empty buffers – This component monitor returns the number of buffers currently free.

Database Startup Parameters and Shared Resources

This monitor returns database startup parameters and shared resource statistic. Returned values are as follows:

  • Maximum clients – This component monitor returns the number of allowed clients.
  • Maximum servers – This component monitor returns the maximum number of servers.
  • Maximum clients per server – This component monitor returns the maximum number of clients per server.
  • Number of servers – This component monitor returns the number working servers.
  • Total users – This component monitor returns the number of active users.
  • Number of page writers – This component monitor returns the number of active APWs.
  • Number of monitors – This component monitor returns the number of active monitor processes.
  • Number of semaphores allocated – This component monitor returns the number allocated Unix semaphores.

Process: Database Broker

This monitor returns the CPU and memory usage of the Database Broker (_mprosrv) process. The broker process manages shared resources and starts servers for remote users, if necessary.

This component monitor uses an SNMP monitor to gain process statistics. If it is not working, check your SNMP configurations on the target node.

Database Broker TCP Port

This component monitor tests the ability of a database broker to accept incoming sessions.

By default, this monitor is disabled. Before using this monitor you should enter your broker database TCP port. This port is set by the “-S” argument during database startup.