The project provides an automated way to run health checks for dynatrace, databases and API's. The project is structured in a way that is easy to use and reuse. We have employed the power of XML to make it easy to add new components to the report without making adjustments to the code.
cd /your/folder/
check if config.ini exists in configs directory, if the file exists with the correct credentials just leave it. If the file is missing or the credentials are wrong, then execute init.py and fill in the prompts, this will generate a new config.ini file with masked credentials and other parameters settings.
The project is structured as shown below
.
├── classes # folder with classes
├──DatabaseHealth.py # contains DB health check functions and email function
├──DynaScreens.py # contains functions for capturing screenshots on dynatrace and also functions to insert screenshots to the report
├── configs # contains configuration files
├──config.ini # contains credentials and other configuration settings. Run init.py to regenerate
├──requirements.txt # contains python libraries necessary to run the script
├── documents # reports generated by the script are added to this folder
├── drivers # contains drivers such as geckodriver and oracle library driver
├── screenshots # contains folders holding date indexed dynatrace screenshots
├── xml # contains xml documents
├── docx.xml # This xml is used by the main script as a control of what and how the report gets generated new nodes can be added by following the syntax of the already existing nodes
├── screens.xml # This is the xml that controls the screenshot images generated from dynatrace
└── main.py # This is the main file which should be executed to generate and send email attachment of the document. If the desired results are not meant re-execute the file
The project has been designed and implemented by Francis Chege Kamau with cluanga
The project is designed as a template that can easily be scaled to be used for other healthchecks outside EIOM. Apart from taking screenshots for dynatrace, monitoring database queries and testing api calls more monitoring processes can be added by adding more classes.
"# AutomationPython"