vetR Summarizer
A Python package for visualizing ACI vetR JSON data from vetr-collector
Table of Contents
- What is vetR Summarizer?
- Objective
- How it Works
- Installation
- Usage
- Use Case
What is 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
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
System-wide
$ pip install --user vetr-summarizer
Virtual Environment
$ python3 -m venv .venv
$ source .venv/bin/activate .
(.venv)$ pip install 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 EXCLUDED_KEYS_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 (default: html)
-x EXCLUDED_KEYS_FILE, --excluded-keys-file EXCLUDED_KEYS_FILE
File with keys to exclude from raw JSON files. (default: excluded_keys)
-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?
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
.