This tool must help AWS metrics reports generation to performance analysis.
With nodeJS installed, execute the commands:
- To install dependencies
npm install
- Then run with
npm run serve
to serve the HTML to handle the CSV files.
Run docker composer up
and it will initialize the database and serve the HTML to handle the CSV files.
Recently changed from Laravel/Angular dev into DevOps, where most of our infrastructure are on AWS. There is a report used to keep track of our server's instances performance metrics, today this report is done manually.
AWS CPU and Memory metrics data are extracted from a dashboards as CSV reports, so they are formatted: numbers fixed and business period filtered. Data is pasted into a sheet with instances label as header, when all days of the week are completed, the week report is compiled with day's data.
Data from CSV file is treated, filtered by business work time and grouped by day and XLSX workbook is generated, a sheet / day.
-
Week data processing to be developed
-
Simplistic sequence diagram of data flow. Async methods to return data within these shown methods need to be improved.
Main structures
Class | Functionally |
---|---|
Queue |
Read raw files directory to get files queue. |
AWS File Handler |
Process data from CSV and format into treated data to report generation. |
AWS Metrics Controller |
Controls the workflow: Files on queue > Get environment Metadata > Process and format CSV to get metrics data > Build/update XLSX reports |
MetricsXLSXReportService |
Generate the output XLSX from metrics formattedData |
MetricsService |
Handle metrics filters and communicate with database formattedData |
๐ I'm trying to improve tasks/development tracking, also mapping identified technical debts to further improvements.