awsummary

package module
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

README

awsummary

awsummary is a script to get a fast (< 3 seconds) AWS account overview of pricey or often used services in all 13 regions.

Available details are (number of):

  • EC2, EC2 Running instances, EC2 Windows running instances
  • Application LB, Gateway LB, Network LB
  • Elasticsearch Domains
  • RDS, RDS MySQL/MSSQL/Oracle
  • dynamodb reserved (pay while idle!) and on demand capacity
  • CFN
  • Lambda functions
  • S3 buckets
  • Total of all above in all regions

Usage

AWS Credentials expected in $HOME/.aws/credentials or as environment variables AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY

Usage: aws-overview [-h] [-log-file=path] [-daemon=true] [-repeat-every=60] [other options]
 -h, --help
 -daemon=false/true:           [bool], Run as daemon. Default value is 'false'
 -repeat-every=<INT>:          Repeat period in seconds. Used only in daemon mode. Default value is 180
 -log-file=<PATH>:             Log file location, if skipped logs to STDOUT
 -verbose=true/false:          [bool], if true prints details information about objects
 -machine-readable=true/false: [bool], if true convert output to Logstash format, false print json output

Usage Examples

Watch out for DynamoDb with reserved capacity
2021/07/06 18:03:31 Started
{"Region":"eu-central-1","Stacks":17,"level":"info","msg":"Region specific CFN data","time":"06 Jul 21 18:03 CEST"}
{"Region":"eu-west-1","Stacks":8,"level":"info","msg":"Region specific CFN data","time":"06 Jul 21 18:03 CEST"}
{"Lambda":12,"Region":"eu-west-1","level":"info","msg":"Region specific Lambda data","time":"06 Jul 21 18:03 CEST"}
{"Lambda":4,"Region":"us-east-1","level":"info","msg":"Region specific Lambda data","time":"06 Jul 21 18:03 CEST"}
{"OnDemandCapacity":8,"Region":"eu-central-1","ReservedCapacity":1,"Tables":9,"level":"info","msg":"Region specific DDB data","time":"06 Jul 21 18:03 CEST"}
{"Region":"us-west-2","Stacks":1,"level":"info","msg":"Region specific CFN data","time":"06 Jul 21 18:03 CEST"}
{"Lambda":1,"Region":"us-west-2","level":"info","msg":"Region specific Lambda data","time":"06 Jul 21 18:03 CEST"}
{"ALB":0,"DynamoDB":9,"EC2":0,"EC2Running":0,"EC2RunningWindows":0,"ElasticsearchDomains:":0,"GLB":0,"Lambda":17,"NLB":0,"RDS":0,"RDS_MSSQL":0,"RDS_MySQL":0,"RDS_Oracle":0,"S3Buckets":54,"Stacks":26,"level":"info","msg":"Account overview data","time":"06 Jul 21 18:03 CEST"}
2021/07/06 18:03:32 Exiting!
````

### Pricey MSSQL and Running and stopped instances

```bash
{"Region":"eu-central-1","Stacks":19,"level":"info","msg":"Region specific CFN data","time":"06 Jul 21 18:20 CEST"}
{"ALB":2,"GLB":0,"NLB":2,"Region":"eu-central-1","level":"info","msg":"Region specific ELB data","time":"06 Jul 21 18:20 CEST"}
{"RDS":2,"RDS_MSSQL":2,"RDS_MySQL":0,"RDS_Oracle":0,"Region":"eu-central-1","level":"info","msg":"Region specific RDS data","time":"06 Jul 21 18:20 CEST"}
{"EC2":7,"EC2Running":5,"EC2RunningWindows":3,"Region":"eu-central-1","level":"info","msg":"Region specific EC2 data","time":"06 Jul 21 18:20 CEST"}
{"ALB":2,"DynamoDB":0,"EC2":7,"EC2Running":5,"EC2RunningWindows":3,"ElasticsearchDomains:":0,"GLB":0,"Lambda":0,"NLB":2,"RDS":2,"RDS_MSSQL":2,"RDS_MySQL":0,"RDS_Oracle":0,"S3Buckets":8,"Stacks":19,"level":"info","msg":"Account overview data","time":"06 Jul 21 18:20 CEST"}
2021/07/06 18:20:33 Exiting!

Thanks

Thank you for original script by partamonov.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AUTO_INIT bool

Functions

func Autoinit

func Autoinit() bool

func CheckConfig

func CheckConfig()

Make sure the credentials exists

func CheckLogFile

func CheckLogFile(logfile string)

Make sure we can create log file

func ListElasticsearchservice

func ListElasticsearchservice(region string, verbose bool) (esNumber int)

func ListLambda

func ListLambda(region string, verbose bool) (lambdaNumber int)

func ListRds

func ListRds(region string, verbose bool) (rdsNumber, rdsOracleNumber, rdsMysqlNumber, rdsMSsqlNumber int)

func ListS3

func ListS3(region string, verbose bool) (number int, err error)

func Msg

func Msg(service string) string

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL