Skip to main content

vmt-report: Reporting Helper

vmt-report adds Turbonomic specific handlers for the arbiter data handling package. This enabled Turbonomic API calls to be easily combined and manipulated into standardized output formats such as CSV, and JSON for data export or simple reporting needs.

Installation

pip install vmtreport

Usage

vmt-report installs the appropriate vmtconnect and credstore handlers for connecting to Turbonomic instances using vmt-connect. The JSON config controls most of the behavior of arbiter, while the process worker handles data manipulation.

Example Script (example.py)

# Dump selected fields from all market actions
import arbiter
import vmtreport
import umsg

# source worker sub-process must accept 3 parameters
def actions(source, config, logger):
    umsg.log(f"Retrieving data from {config['resource']}", logger=logger)
    res = source.connect().get_actions()
    fields = ['createTime', 'actionType', 'details']
    return [{x: res[x]} for x in res if x in fields]

if __name__ == '__main__':
  report = arbiter.Process('report.config', actions)
  report.run()

Example Config (report.config)

{
  "sources": [
    {
      "handler": "vmtconnect",
      "resource": "https://localhost",
      "authentication": {
        "type": "credstore",
        "credential": "./credential.credstore",
        "keyfile": "./turbo.keyfile"
      }
    }
  ],
  "outputs": [
    {
      "handler": "CSV",
      "resource": "file:/tmp/{timestamp}-actions.csv"
    }
  ],
  "notifications": [
    {
      "handler": "email",
      "on_success": true,
      "on_failure": true,
      "options": {
        "email": {
          "from": ["no-reply@turbonomic.com"],
          "to": ["user@example.com"],
          "subject": "Actions Report for {date}",
          "body": "Wasted Storage Report generated on {timestamp}.",
          "body_error": "Errors happened: {errors}"
        }
      }
    }
  ],
  "logging": {
    "mode": "DEBUG"
  },
  "process_timeout": 60
}

Documentation

The user guide is a good place to start. Detailed documentation is also available here.

Metadata

Release files for vmtreport 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vmtreport 2.1.0
File Size Uploaded
vmtreport-2.1.0.tar.gz 20.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vmtreport 2.1.0
File Interpreter ABI Platform
vmtreport-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.7 kB

Release files / vmtreport-2.1.0.tar.gz

Download URL vmtreport-2.1.0.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cfe721f660f63e8eb132890e889de02bd70170970a05735c6dc77acf93cf5c2c
BLAKE2b-256 checksum
How to use checksums
65ecfdb13ff45b7caae9a3d3e0bfeb981a91dea37294cd0f69deb59e27feb3e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.3

Release files / vmtreport-2.1.0-py3-none-any.whl

Download URL vmtreport-2.1.0-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0343cdfe2cefd549d3d64f0775583689322ed3b77de52765400cbd1f8e9c46e8
BLAKE2b-256 checksum
How to use checksums
459534c234bfd40ebcab863c2de05b4dd17d665a8204bc57ff3899b194e9ab3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.3

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page