Progress Database (Linux and Unix sh script)
This template uses several Linux/Unix Script Monitors and a Process Monitor to assess the status and overall performance of a Progress database installed on Linux/Unix systems. This template uses .sh file shell scripts and a SNMP process monitor.
This template was created and tested on the Progress Database v11.1. Some component monitors, including Records Statistics, Database Activity Summary 1, and Database Activity Summary 2 may return incorrect data on other version.
Prerequisites
SSH and Perl installed on target servers
SNMP access to monitor the “_mprosrv” process.
Credentials
Root credentials on the target server.
You should manually check Progress Monitor (PROMON) utility output and compare it to this one. To get to this screen, execute the following command:promon /usr/wrk/test1.db
In the PROMON utility, select the following ordered options:
- R&D. Advanced options
- 2. Activity Displays
- 1. Summary
Arguments in Linux/Unix Script Monitors
All scripts use the same argument structure:sh ${SCRIPT} path_to_promon path_to_db
where
path_to_promon
– Full path to PROMON utilitypath_to_db
– Full path to monitor database file with .db extension.
Example: sh ${SCRIPT} "/usr/bin/promon" "/usr/wrk/test1.db"
Component monitors
Records Statistics
Returns records statistics of the Progress Database.
- Record Reads – Returns the number of read records.
- Record Updates – Returns the number of updated records.
- Record Creates – The number of created records.
- Record Deletes – The number of deleted records.
- Record Locks – The number of used locks on records.
- Record Waits – The number of users waited to gain access to locked records.
By default, the Count statistic as difference option is enabled for this monitor. It will show the new statistic since the last polling period.
Database Activity Summary 1
Returns database activity summary.
- Commits – The number of committed transactions.
- Undos – The number of canceled transactions.
- DB Reads – The number of read blocks from database.
- DB Writes – The number of written blocks to disk.
- BI Reads – The number of read BI blocks.
- BI Writes – The number of written BI blocks to disk.
- AI Writes – The number of written AI blocks to disk.
- Active trans – The number of active transactions.
By default, the Count statistic as difference option is enabled for this monitor. It will show the new statistic since the last polling period.
Database Activity Summary 2
Returns database activity summary.
- Rec Lock Waits perc – 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 – 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 – 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 – 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 – 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 – 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 – The database size. The measured unit is shown in the returned message.
- BI Size – The size of BI file. The measured unit is shown in the returned message.
- AI Size – The size of AI file. The measured unit is shown in the returned message.
- Buffer Hits perc – 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
Returns the database status and buffer statistics.
- Empty blocks – The number of empty database blocks (never used).
- Empty blocks perc – The number of empty database blocks (never used) in a percent format.
- Free blocks – The number of free database blocks (were used before but now they are free).
- Free blocks perc – The number of free database blocks (were used before but now they are free) in a percent format.
- RM blocks with free space – The number of blocks in RM. RM chains consist of partially filled blocks of the database.
- RM blocks with free space perc – The number of blocks in RM in a percent format. RM chains consist of partially filled blocks of the database.
- Highest table number defined – The table's number.
- Used buffers – The number of buffers currently in use.
- Empty buffers – The number of buffers currently free.
Database Startup Parameters and Shared Resources
Returns database startup parameters and shared resource statistic.
- Maximum clients – The number of allowed clients.
- Maximum servers – The maximum number of servers.
- Maximum clients per server – The maximum number of clients per server.
- Number of servers – The number working servers.
- Total users – The number of active users.
- Number of page writers – The number of active APWs.
- Number of monitors – The number of active monitor processes.
- Number of semaphores allocated – The number allocated Unix semaphores.
Process: Database Broker
Returns the CPU and memory usage of the Database Broker (_mprosrv
) process. This 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 SNMP configurations on the target node.
Database Broker TCP Port
Tests the ability of a database broker to accept incoming sessions.
By default, this monitor is disabled. Before using this monitor, enter the database broker TCP port, as set by the “-S” argument during database startup.