GithubHelp home page GithubHelp logo

lendi-au / aws-cudos-framework-deployment Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws-samples/aws-cudos-framework-deployment

0.0 1.0 0.0 1.15 MB

Command Line Interface tool for Cloud Intelligence Dashboards deployment

Home Page: https://wellarchitectedlabs.com/cost/200_labs/200_cloud_intelligence/

License: MIT No Attribution

Shell 8.28% Python 85.57% HCL 6.15%

aws-cudos-framework-deployment's Introduction

Cloud Intelligence Dashboards (CUDOS Framework)

PyPI version

Welcome to Cloud Intelligence Dashboards (CUDOS Framework) automation repository

This repository contains CloudFormation templates, Terraform modules, and a Command Line tool (cid-cmd) for managing various dashboards provided in AWS Well Architected LAB Cloud Intelligence Dashboards.

There are several ways we can manage dashboards:

  1. CloudFormation Template (using cid-cmd tool in lambda)
  2. Terraform module (wrapper around CloudFormation Template)
  3. Using cid-cmd tool from command line

We recommend cid-cmd tool via AWS CloudShell.

Supported dashboards


Dashboard documentation Demo URL Prerequisites URL
CUDOS Dashboard demo link
Cost Intelligence Dashboard demo link
Trusted Advisor Organisation (TAO) Dashboard demo link
Trends Dashboard demo link
KPI Dashboard demo link
Compute Optimizer Dashboard demo link

Before you start

  1. ❗ Complete the prerequisites for respective dashboard (see above).
  2. Specifying a Query Result Location Using a Workgroup
  3. ❗ Make sure QuickSight Enterprise edition is activated.

Command line tool cid-cmd

Demo: Deployment of Dashboards with cid-cmd tool

asciicast

Install

  1. Launch AWS CloudShell or your local shell

    Automation requires Python 3

  2. Make sure you have latest pip package installed

    python3 -m ensurepip --upgrade
  3. Install CID Python automation PyPI package

    pip3 install --upgrade cid-cmd

Dasbhoard Deployment

cid-cmd deploy

Update existing Dashboards

Update only Dashboard

cid-cmd update

Update dashboard and all dependenies (Datasets and Athena View). WARNING: this will overide any customization of SQL files and Datasets.

cid-cmd update --force --recursive

Show Dashboard status

Show dashboards status

cid-cmd status

Share QuickSight resources

cid-cmd share

Initialize Amazon QuickSight

One time action to intialize Amazon QuickSight Enerprise Edition.

cid-cmd initqs

Delete Dashboard and all dependencies unused by other

Delete Dashboards and all dependencies unused by other CID-managed dashboards.(including QuickSight datasets, Athena views and tables)

cid-cmd delete

Delete Command Options:

 --dashboard-id TEXT QuickSight dashboard id 
 --athena-database TEXT Athena database

Export

The command export lets you download or share a customized dashboard with another AWS Account. It takes the QuickSight Analysis as an input and generates all the assets needed to deploy your Analysis into another AWS Account. This command will generate a yaml file with a description of the Dashboard and all required Datasets. Also this command generates a QuickSight Template in the current AWS Account that can be used for Dashboard deployment in other accounts. The resource file can be used with all other cid commands. Both accounts must have relevant Athena Views and Tables.

Export from account A:

cid-cmd export

Deployment to account B:

cid-cmd deploy --resources ./mydashboard.yaml

See available commands and command line options

cid-cmd --help

CSV to Athena View

Generate and SQL file for Athena View for CSV file

cid-cmd csv2view --input my_mapping.csv --name my_mapping

This command generates a SQL file that you can execute. Please mind Athena Service Limit for Query Size.

Cloud Formation

CID is also provided in a form of CloudFormation telmplates. See detailed instuctions in the Well Architected Labs site.

Terraform

CID offers a set of Terraform modules to deploy CUR replicaion and CID dashboards. These modules act as a wrapper around CloudFormation.

  1. Create a bucket for consolidating CUR terraform-modules/cur-setup-destination/
  2. Create a CUR in Payer Account(s) terraform-modules/cur-setup-source/
  3. Create Dashboards terraform-modules/cid-dashboards/

Rights Management

The ownership of CID is usually with the FinOps team, who do not have administrative access. However, they require specific privileges to install and operate CID dashboards. To assist the Admin team in granting the necessary privileges to the CID owners, a CFN template is provided. This template, located at CFN template, takes an IAM role name as a parameter and adds the required policies to the role.

Troubleshooting and Support

If you experience unexpected behaviour of the cid-cmd script please run cid-cmd in debug mode:

cid-cmd -vv [command]

This will produce a log file in the same directory that were at the tile of launch of cid-cmd.

❗Inspect the produced debug log for any sensitive information and anonymize it.

We encourage you to open new issue with description of the problem and attached debug log file.

aws-cudos-framework-deployment's People

Contributors

iakov-aws avatar darken99 avatar megareez avatar yprikhodko avatar cris-popa-aws avatar aleewhitman avatar tbuatois avatar aaronedell avatar cristian-popa avatar sean-nixon avatar dnabic-aws avatar gaborschulz-aws avatar vmindru avatar edify42 avatar andrea-caldarone avatar voicuaws avatar georgerzks avatar kentnsw avatar rarylson avatar rkrol avatar yinlei100 avatar udid-aws avatar sumitagarwalhcst avatar rohitsinglagithub avatar mcr0cx avatar marjet26 avatar gurajani avatar gaborschulz avatar totalcaos avatar selmanmoon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.