Pantomath is a command-line application that helps you collect, analyze, and explore all the data you need to optimize the cost of your cloud.
Pantomath is a versatile data manager that allows to easily:
- Collect data from various sources (APIs, databases, local and remote files, web sites, etc.).
- Store structured and semi-structured data.
- Query data with SQL.
- Report on the data.
- Alert on the data.
It is designed to be extensible so that adding support for new data sources requires minimal work.
- Python 3.7+
- PostgreSQL 13+
- Clone the repository.
git clone https://github.com/jmfontaine/pantomath.git
cd pantomath
- Install the dependencies with Poetry.
poetry install
- Activate the virtual environment.
poetry shell
When done using Pantomath, you can deactivate the Poetry shell:
exit
To start the interactive program, run pantomath
.
Usage: pantomath [OPTIONS] COMMAND [ARGS]...
Easily collect, analyze, and explore FinOps data.
Written by Jean-Marc Fontaine (jm@jmfontaine.net).
Options:
-c, --config TEXT Set configuration file path. [default: pantomath.yaml]
-v, --verbose [x>=0]
--help Show this message and exit.
Commands:
collect Extract, transform and load from data sources into the database.
version Display version.
Pantomath can be configured via a YAML configuration.
By default, Pantomath will look in the current folder for a file named pantomath.yaml
. This can be overridden by using the --config
option (or -c
for short): pantomath --config ./custom/path/pantomath.yaml
.
Here are all the currently available settings:
version: 0.1.0
db:
host: localhost # Optional
port: 5432 # Optional
user: pantomath # Optional
password: pantomath # Optional
name: pantomath # Optional
providers:
aws:
settings:
accounts:
- profile: account1
- profile: account2
assume_role: arn:aws:iam::1111111111111:role/MyRole
sources:
- aws_cloudfront_distributions
- aws_cloudtrail_trails
- aws_dax_clusters
- aws_docdb_clusters
- aws_dynamodb_tables
- aws_ebs_snapshots
- aws_ebs_volumes
- aws_ec2_alb
- aws_ec2_clb
- aws_ec2_eip
- aws_ec2_glb
- aws_ec2_images
- aws_ec2_instances
- aws_ec2_nat_gateways
- aws_ec2_nlb
- aws_ec2_vpc_endpoints
- aws_ecs_clusters
- aws_efs_file_systems
- aws_eks_clusters
- aws_elasticache_clusters
- aws_emr_clusters
- aws_es_domains
- aws_lambda_functions
- aws_rds_instances
- aws_rds_snapshots
- aws_redshift_clusters
- aws_route53_domains
- aws_s3_buckets
If you need some help, please create an issue.
A pantomath is a person who wants to know or knows everything.
This tool aims at making it easier for users to know everything they need to manage and optimize the cost of their cloud.
Pantomath is free, and the source is available. It is distributed under the Server Side Public License (SSPL) v1.