Velocity Software, Inc. is recognized as a leader in the performance measurement of z/VM and Linux on z. The Velocity Performance Suite consist of a set of tools that enable installations running z/VM to manage Linux and z/VM performance. In addition, many components of server farms can be measured and analyzed. Performance data can be viewed real-time through the use of either 3270 or a browser. The CLOUD Implementation (zPRO) component is designed for full cloud PaaS implementation as well as to extend the capabilities of the z/VM sysprog (system programmer) to the browser world. This feature moves system management to the point-and-click crowd. Archived data and reports can be kept available of long term review and reporting usine zMAP. The zVPS, formally ESALPS, components consist of: zMON (formally ESAMON - real-time display of performance data), zTCP (formally ESATCP - SNMP data collection), zMAP (formally ESAMAP - historical reporting and archiving), zVWS (formally ESAWEB - z/VM based web server), zTUNE (a subscription service), zVIEW (formally SHOWCASE - web based viewing of performance data), zPRO (new to the quality line of Velocity Software Products). Velocity continues to work with other software vendors to ensure smooth interface with or from other products such as VM:Webgateway, CA-Webgateway, EnterpriseWeb, MXG, MICS. Velocity software remains the leader and inovator in the z/VM performance, Linux performance, Managing cloud computing arenas.
About Us | Products | FAQ | zVIEW Demo | zPRO Demo | Customer Area | Education | Linux Hints & Tips | Presentations | News | Industry and Events | Employment Opportunities
Home | Contact Us    

Accounting for z/VM and Linux under z/VM

Many installations are asking for information on how to accomplish accounting and chargeback for the Linux on z/VM environment. zVPS was designed to meet this requirement and is used by many installations for this function.

When one department runs on one server, or one application runs on one server, charge back is not difficult - charge the department for the server plus overhead. But when there may be 100 servers on one z/VM system, how should a company charge for the resources?

This is not a new problem, but one that was identified in the early years of time sharing. Charging for the resources consumed by the server meets the requirements of most installations. The resources consumed that installations charge for are generally CPU, storage, and I/O.

Technical Requirements: There are many technical requirements that must be met for a chargeback system, all of which are satisfied by zVPS. Two other vendor products can claim this - and both products utilizes zVPS to provide the input data.

  • Both z/VM and Linux data is required: From the virtual machine perspective, there are resources used that Linux can not measure such as real storage requirements or I/O issued.
  • Accurate data: This may sound like a non-issue, but as all Linux process data coming from Linux in a virtual environment is very innaccurate, this is a serious issue documented by Velocity Software in 2001 in BADCPU.
  • Complete data: For data to be used for chargeback, there must be complete data. To acquire complete data from z/VM was provided by Velocity Software since 1990 with a 100.00% capture ratio. To get a capture ratio for Linux process data is more difficult. zVPS provides this data with a very high capture ratio. As the Linux data does not have the fully architected instrumentation provided by z/VM, the capture ratio provided by zVPS is usually reported in the "high 90's", typically 99%.
  • Low cost of data acquisition: Instrumentation was added to Linux by other vendors that will not work in the zLinux world. If the data collection for each server requires 5-10% of a real CPU, it becomes quickly the most chargeable application. Velocity Software's agent typically requires about .1% of one CPU to collect all of the accounting data.

Other requirements include the history to explain to your internal customers why there was a spike one day last month. There are also associated operational requirements - operations should determine a process is looping quickly, and prior to the customer being charged outrageous sums of money for resources they did not want to consume.

Reporting details

There are multiple methods of performing chargeback. All data is in the performance database and can be extracted into files of CSV format or other formats. zVPS provides reports to display the data for the following:

  • Virtual Machine chargeback When chargeback is only necessary at the virtual machine level, the ESAACCT report provides this data, charging for CPU, I/O and Storage in a service unit format. An example of this follows.
  • Server chargeback Data Rather than using existing reports produced by zVPS, installations should utilize the database functions. Click on Sample Virtual Server data for an example.
  • Websphere application:CPU consumption at the Linux Websphere application level is provided on the ESALNXA report. Click for a sample and more details
  • Application chargeback Data Rather than using existing reports produced by zVPS, installations should utilize the database functions. Click on Sample Application data for an example.
  • Linux USERID:CPU consumption at the Linux Userid and GROUP ID level is provided on the ESALNXU report.

Note that the data on any of these reports can easily be extracted directly from the database in a format more suitable to meet your particular requirements.

Sample Data Export: In the MAPGOOD EXEC, a routine has been provide to demonstrate data extraction and export via FTP. This routine will provide daily and/or monthly data. The sample extract used and provided is ACCTUSR ESAEXTR, that can be modifed. The sample collects both virtual machine data and linux application data, creates a file, and then sends it via FTP to your data server.

Sample Reports

ESAACCT: The following report provided by zVPS shows the resources consumed by each linux server, and the charges applied to that server. Each resource consumed is converted to a service unit and accumulated, and then a charge per service unit applied. Thus each server has a charge for this period of time.

All service unit factors and charges are tailorable by the installation to meet the installation accounting requirements.


Report: ESAACCT      User Accounting Report                        Veloc
Monitor initialized:                      on 2084 serial 3667F     First
------------------------------------------------------------------------
Service Unit Virtual CPU Factor:    17777
Service Unit Overhead CPU Factor:   17777
Service Unit I/O Factor:            0.800
Service Unit Storage Factor:        0.500
Charge per Service Units:            0.00010
------------------------------------------------------------------------
UserID   <--Users-->  <Service Units>  Charges  <---Resources Used---->
/Class   Logged Actv    /Sec   Total    Total     CPU   DASD I/O  Pages
-------- ------ ----  ------  ------   -------  ------  --------  -----
00:15:57     47 35.3   13574  12217K   1221.69  622.15    405496  1665K
System:       .    .  268.74  241867     24.19   13.61
 ***Key User Analysis ***
LINUX1        1  1.0   44.04   39638      3.96    1.79        88  15523
LINUX13       1  1.0   74.71   67236      6.72    3.31       396  15993
LINUX14       1  1.0  466.10  419492     41.95   21.04       446  90292
LINUX15       1  1.0  696.94  627249     62.72   30.94      2162   151K
LINUX16       1  1.0  1220.3   1098K    109.83   56.98      2588   167K
LINUX17       1  1.0  106.75   96078      9.61    4.96       331  15242
LINUX18       1  1.0  247.34  222602     22.26   10.65       459  65851
LINUX20       1  1.0  465.36  418826     41.88   22.59      1079  32666
LINUX22       1  1.0  2455.5   2210K    221.00  121.61     14908  72492
LINUX24       1  1.0   44.60   40143      4.01    1.74       182  18025
LINUX25       1  1.0   94.10   84689      8.47    3.94       742  28008
LINUX27       1  1.0   54.45   49001      4.90    2.30       263  15920
LINUX29       1  1.0  259.51  233562     23.36   10.34      5811  90185
LINUX30       1  1.0  165.24  148720     14.87    6.86       310  53141
LINUX31       1  1.0  886.54  797882     79.79   42.29     13347  70722
LINUX32       1  1.0  254.24  228817     22.88   10.10      4421  91315
LINUX33       1  1.0  279.96  251969     25.20   11.44      6923  86157
LINUX34       1  1.0   31.11   27995      2.80    1.06        55  18298
LINUX35       1  1.0  495.47  445928     44.59   21.78      1312   116K
LINUX37       1  1.0  269.65  242689     24.27   11.31      5515  74437
LINUX38       1  1.0  207.58  186820     18.68    9.44      3062  32946
LINUX39       1  1.0  353.44  318096     31.81   15.55      4766  75796
LINUX40       1  1.0  224.58  202122     20.21    9.76      3183  52256
LINUX41       1  1.0  203.57  183210     18.32    9.31      3089  30337