In the spirit of the holiday season, I thought I'd share some tools for
reporting on ADSM that I've developed over the past year or so. They're
nothing fancy, but I find them useful. I hope you do, too (or at least
some of you).
Feedback is welcome. I'd appreciate hearing from those of you who find
them useful, or think you'll find them useful. This will encourage me to
share more in the future. I'm also open to other suggestions for creating
similar tools.
Now for some less pleasant business: While it may not be necessary for me
to say this to the subscribers to ADSM-L, I'm going to, anyway. All the
pseudo-legalese I wrote in section 1 of the following document is just my
way of saying that these are my intellectual properties, and that you may
not use them in any way, shape, or form for profit (other than to assist
you in your job, for which you earn money).
Now that that's out of the way.....
This is a rather large file. Hopefully you can save it to your disk (if
you want to, that is). To verify that you have the entire file, I'll
provide some information about it, which you can then compare with what
you received:
The pertinent contents of this file are between the "Cut Here" lines.
That is, a few lines down from here is the first "Cut Here", followed
by the document, followed by the second and last "Cut Here", which
should be the last line of this post.
Save this post to a file on disk, then edit it. Remove all lines up to
and including the first "Cut Here" line. Then go to the bottom of the
file, and delete the last line, which should also say "Cut Here". Save
the resultant file.
My copy of the file is 80,008 bytes in length and consists of 2,828
lines. If yours is this size, then you should be all set.
If you have trouble receiving this file, let me know and I can post it
to the FTP server.
Lastly, when editing the file, use a non-proportionally spaced font (i.e.
use Courier instead of Times Roman, for instance). It'll look better.
Now, on to the tools.....
Andy Raibeck
Connecticut Mutual
203-987-3521
--------------------------------- Cut Here ---------------------------------
======================================================================
======================================================================
ADSM TOOLS
======================================================================
A small collection of miscellaneous utilities for reporting on
IBM's ADSTAR Distributed Storage Manager
By
Andrew M. Raibeck
Connecticut Mutual Life Insurance Company
140 Garden Street, MS 007
Hartford, CT 06154
phone: 203-987-3521
fax: 203-987-6644
======================================================================
CONTENTS
======================================================================
SECTION 1: Background Information
SECTION 2: ADSMSMF - Sample Output
SECTION 3: FSUMMARY - Sample Output
SECTION 4: NACCESS - Sample Output
SECTION 5: NSUMMARY - Sample Output
SECTION 6: OSUMMARY - Sample Output
SECTION 7: ADSMSMF - Source Code (ADSM V2 Server)
SECTION 8: FSUMMARY - Source Code (ADSM V2 Server)
SECTION 9: NACCESS - Source Code (ADSM V2 Server)
SECTION 10: NSUMMARY - Source Code (ADSM V2 Server)
SECTION 11: OSUMMARY - Source Code (ADSM V2 Server)
SECTION 12: FSUMMARY - Source Code (ADSM V1 Server)
SECTION 13: NACCESS - Source Code (ADSM V1 Server)
SECTION 14: NSUMMARY - Source Code (ADSM V1 Server)
SECTION 15: OSUMMARY - Source Code (ADSM V1 Server)
SECTION 16: Using ADSMSMF
SECTION 17: Using FSUMMARY
SECTION 18: Using NACCESS
SECTION 19: Using NSUMMARY
SECTION 20: Using OSUMMARY
======================================================================
======================================================================
SECTION 1: Background Information
======================================================================
DISCLAIMERS: This information is provided on an "as is" basis without
warranty of any kind. Neither the author nor his company
assumes any liability for damages resulting directly or
indirectly from the use of this document, or the source
code contained herein. Neither is the author nor his
company responsible for fixing or updating this code.
PERMISSIONS: You may use this document and the tools herein FOR YOUR
OWN INTERNAL USE ONLY. ANY alterations MUST continue to
include SECTION 1 (this section) in its entirety,
followed by your summary of changes and/or departures
from the original document.
You may distribute this document externally PROVIDED
THAT YOU COMPLY WITH THE FOLLOWING:
* You may distribute ONLY the original, unaltered
document unless you have the express written
consent of the original author and/or Connecticut
Mutual Life Insurance Company.
* You may NOT distribute this document for profit,
or ANY kind of benefit (monetary or otherwise)
whatsoever.
You may not use this document, or any alteration thereof,
for the purposes of profit, or ANY kind of benefit (mone-
tary or otherwise) whatsoever, beyond the normal use for
which it was intended. "Normal use" is defined as using
and customizing the tools listed in this document for the
purpose of reporting on one or more ADSM servers running
on those systems belonging to you and/or your company.
Likewise you may not sell or otherwise distribute for
profit, or ANY kind of benefit (monetary or otherwise)
whatsoever, utilities derived from those contained within
this document.
ADSM TOOLS
DESCRIPTION: "ADSM TOOLS" is a small collection of miscellaneous
utilities for reporting on IBM's ADSTAR Distributed
Storage Manager. There are five (5) tools in all:
1) ADSMSMF: A SAS utility for reading the SMF records
created by ADSM. Four sample reports are included.
The input routine reads all fields, so you should
have very little problem creating your own custom
reports.
In my shop, we use a generation data group (GDG)
to store ADSM's SMF records, with each generation
data set holding a month's records.
2) FSUMMARY: This REXX utility reads the output from
the QUERY FILESPACE command and displays filespace
capacity and utilization by platform.
3) NACCESS: This REXX utility reads the output from
the QUERY NODE FORMAT=DETAILED command, and displays
a list of those clients that haven't accessed the
ADSM server within a user-specified number of
days.
4) NSUMMARY: This REXX utility reads the output from
QUERY NODE and displays the number of registered
clients by platform.
5) OSUMMARY: This REXX utility reads the output from
QUERRY OCCUPANCY and displays the total number of
files and total number of megabytes stored within
each pool. Optionally, it will also read the
output from QUERY NODE and break the above totals
down by platform. Note: this option is not avail-
able in the version for the ADSM Version 1 server.
Due to changes in the output format of the QUERY
commands, I've included two versions each of tools
(2) - (5), one that reads the output from Version 1
servers, and another that reads the output from
Version 2 servers. In addition, I may have added some
minor enhancements to the versions for Version 2,
which have not been retrofitted into the versions for
Version 1 (simply because I no longer support the
Version 1 server in my shop).
AUTHOR: Andrew M. Raibeck
Connecticut Mutual Life Insurance Company
140 Garden Street, MS 007
Hartford, CT 06154
phone: 860-987-3521
fax: 860-987-6644
ASSUMPTIONS: - Your server is ADSM/MVS Version 1 or Version 2.
- The ADSMSMF utility requires SAS. We have SAS 6.08,
but the code should also execute correctly with SAS
5.
- The FSUMMARY, NACCESS, NSUMMARY, and OSUMMARY tools
all read the output of ADSM QUERY commands. The
commands must be issued from the TSO Admin client
using redirection to store the output in an MVS
data set. Example:
QUERY OCCUPANCY > 'DSM.P.QOCC'
The reason for using the TSO Admin client is that
the output from certain commands may be formatted
differently than the output generated by the same
command issued from, for example, the OS/2 Admin
client.
FINAL NOTES: I wrote the core of each of these programs fairly
quickly (i.e. 15 minutes or less), although I did
take some additional time later to add some comments
and a few (VERY few) cosmetic touches (you should
have seen what they looked like before!). My point is
that these solutions may not be the most elegant, but
they do the job.
I won't guarantee that the code presented here will
work with all future versions of the ADSM server.
Some modifications may be required with the next
version, as was the case when we went from Version 1
to Version 2. In this case, the modifications were
minor.
Finally, although these were written for the MVS
server, it's possible that they could be ported to
other platforms with a little creativity and per-
severence. I wouldn't expect the REXX programs to be
too difficult, but because SAS doesn't resemble any
other conventional programming language (at least
not that I can tell), this would probably be a much
more difficult task. However, if you have a mainframe
available (with SAS), you could probably transmit
some other server's (i.e. AIX, OS/2, etc.) accounting
records there, and then use the SAS code. In this
case, you might need to alter the SAS input routine
if the record format differs from that of the SMF
records generated by the MVS server.
======================================================================
SECTION 2: ADSMSMF - Sample Output
======================================================================
SAMPLE OUTPUT LISTING: Report #1 - This displays some statistics for
each SMF record (i.e. each client session). In particular, the
following information is displayed:
- Node name (NODENAME)
- Date and time the session ended (SMFDATE and SMFTIME)
- Duration of the session (SESSMIN)
- Amount of data (in MB) backed up (BKUPSMB)
- Backup rate (MBPERMIN)
NOTE: The backup rate (MBPERMIN) is not meaningful, and should
probably be removed from the program. It is calculated simply by
dividing BKUPSMB by MBPERMIN. Because ADSM probably spends more
time scanning drives for changed data than it does actually
backing data up, this number does NOT represent the sustained data
rate. For example, if the incremental backup for your Windows 3.1
client takes 5 minutes to run but backs up only 2 MB, BKUPSMB would
be calculated as (2 MB) / (5 Minutes) or 0.4 MB per minute. But
suppose ADSM actually spent 4.5 minutes scanning the drive for
changed data, and only 30 seconds actually sending data to the
server. Then the true sustained rate would be (2 MB) / (.5 Minutes)
or 4 MB per minute. Thus, DO NOT USE MBPERMIN FOR MEASURING
PERFORMANCE!
NODENAME SMFDATE SMFTIME SESSMIN BKUPSMB MBPERMIN
AGT_SRVC_2N_1 01DEC95 22:45:07 99.783 32.70 0.3277
AGT_SRVC_2N_1 03DEC95 22:23:12 78.733 23.41 0.2973
APO_NT_1 01DEC95 5:17:39 76.067 505.03 6.6393
CMFS_SH09_1 02DEC95 0:06:32 201.500 699.04 3.4692
CMFS_SH09_1 03DEC95 21:59:12 74.167 470.67 6.3461
PRINTSHOP_BN_1 01DEC95 4:17:48 16.383 73.11 4.4625
PRINTSHOP_BN_1 02DEC95 4:15:30 14.167 33.96 2.3975
TR_GS1W_1 01DEC95 21:30:45 26.300 29.55 1.1237
TR_GS1W_1 03DEC95 21:20:40 17.033 1.63 0.0956
WIS_LAB_1 01DEC95 4:07:35 6.517 4.60 0.7055
WIS_LAB_1 02DEC95 4:07:28 6.467 1.86 0.2871
SAMPLE OUTPUT LISTING: Report #2 - This report summarizes ADSM backup
activity for each node. In particular, the following information is
displayed:
- Node name (NODENAME)
- Total number of minutes in session (SESSMIN/SUM)
- Total number of files backed up (BKUPINS/SUM)
- Total amount of data (in MB) backed up (BKUPSMB/SUM)
------------------------------------------------------------------------
| | SESSMIN | BKUPINS | BKUPSMB |
| | SESSMIN | BKUPINS | BKUPSMB |
| |------------+------------+------------|
| | SUM | SUM | SUM |
|-------------------------------+------------+------------+------------|
|NODENAME | | | |
|-------------------------------| | | |
|AGT_SRVC_2N_1 | 1255.02| 2945.00| 458.79|
|-------------------------------+------------+------------+------------|
|APO_NT_1 | 608.87| 3308.00| 4179.53|
|-------------------------------+------------+------------+------------|
|CMFS_SH09_1 | 2018.07| 8244.00| 7240.29|
|-------------------------------+------------+------------+------------|
|PRINTSHOP_BN_1 | 105.82| 923.00| 321.44|
|-------------------------------+------------+------------+------------|
|TR_GS1W_1 | 348.13| 1040.00| 289.78|
|-------------------------------+------------+------------+------------|
|WIS_LAB_1 | 64.47| 429.00| 33.60|
------------------------------------------------------------------------
SAMPLE OUTPUT LISTING: Report #3 - This report averages ADSM backup
SAMPLE OUTPUT LISTING: Report #3 - This report averages ADSM backup
activity for each node. In particular, the following information is
displayed:
- Node name (NODENAME)
- Average number of minutes per session (SESSMIN/MEAN)
- Average number of files backed up per session (BKUPINS/MEAN)
- Average amount of data (in MB) backed up per session
(BKUPSMB/MEAN)
- Average backup rate per session (MBPERMIN/MEAN)
NOTE: As in report #1, the average backup rate (MBPERMIN/MEAN) is
not meaningful, and should probably be removed from the program.
---------------------------------------------------------------------------
| | SESSMIN | BKUPINS | BKUPSMB | MBPERMIN |
| | SESSMIN | BKUPINS | BKUPSMB | MBPERMIN |
| |------------+------------+------------+------------|
| | MEAN | MEAN | MEAN | MEAN |
|---------------------+
|