Skip to main content

A Python package for visualizing ACI vetR JSON data

Project description

published PyPI - Python Version Code style: black Imports: isort PyPI - License PyPI - Version PyPI - Status Pepy Total Downlods Commit Activity Say Thanks!

Table of Contents

  1. vetR Summarizer
  2. Objective
  3. How it Works
  4. Installation
  5. Usage
  6. Use Case

ACI

vetR Summarizer

This tool summarizes data from any APIC collected by vetr-collector.

Objective

This tool processes data collected by vetr-collector for the ACI health check and displays it in a pretty HTML tabluar format. This tool can also be run from any computer having aci-vetr-data collected from any APIC.

The aci-vetr-data directory you get from vetr-collector v3.3.0 includes 91 raw JSON files.

$ ls aci-vetr-data
apPlugin.json
bgpRRNodePEp.json
configRsRemotePath.json
coopPol.json
ctxClassCnt.json
datetimeNtpProv.json
datetimePol.json
epControlP.json
epIpAgingP.json
epLoopProtectP.json
...
<output_truncated>

A sample preview of the output HTML

Preview

How it works

This tool visualizes data collection for the ACI health check from vetr-collector.

Once the analysis is complete, the tool creates a vetr-summary.html file. This file displays the raw JSON data in a DataTable tabular format. DataTable adds the ability to easily search for properties in concern.

Almost all MOs include unnecessary configuration properties. Some of these properties: extMngdBy, childAction, userdom, etc. These unnecessary properties (key-value pairs) are excluded from the report for a neater representation of the output in the HTML file.

All excluded keys can be found in config/excluded_keys file. You can also customize these keys-to-exclude according to your own case. An empty excluded_keys file will not exclude any keys.

Raw JSON files with empty imdata and totalCount equal to 0 are not presented in the HTML vetr-summary.html summary report.

Installation

Install from PyPi

$ pip install --user vetr-summarizer

Usage

Both keyword arguments are optional. Currently html is the only supported output format.

$ vetr-summarizer --help
usage: vetr-summarizer [-h] [-f {html}] [-x EXCLUDE_FILE] [-v] directory  

Process and summarize aci-vetr-data JSON files into HTML reports.

positional arguments:
  directory             A path to the directory containing the JSON files.

options:
  -h, --help            show this help message and exit
  -f {html}, --format {html}
                        Output format (html).
  -x EXCLUDE_FILE, --exclude-file EXCLUDE_FILE
                        File containing keys to exclude from the summary HTML report.
  -v, --version         show program's version number and exit

Thanks for using vetr-summarizer! :)
$ vetr-summarizer "/path/to/aci-vetr-data"

HTML output is written to /path/to/vetr-summary.html

With custom excluded keys

$ vetr-summarizer -x custom_excluded_keys "/path/to/aci-vetr-data"

HTML output is written to /path/to/vetr-summary.html

Use Case

I was once going through the Cisco Community and found a question, what is actually vetr zip logs?

Question

So, I decided to try vetr-collector on an environment. But, I got to open each raw JSON file to check whether it has objects and was time-consuming going through all the files. So, I made this package to summarize the output from vetr-collector in a pretty HTML tabular format.

Author

Osama Abbas

Contributions

As there is always a room for imporovment, you are welcome to contribute to vetr-summarizer.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vetr_summarizer-0.2.0.tar.gz (11.5 kB view hashes)

Uploaded Source

Built Distribution

vetr_summarizer-0.2.0-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page