A brief introduction to Edwin
The Edwin is an alarm and monitoring platform that can be used to monitor anything, such as an anomaly (classified as warning and critical), and can be alerted. You can customize how alerts are notified, such as email/SMS/Phone. In addition, it provides a web UI, on which the status of monitoring metrics can be displayed in dashboard form.
Edwin for the Monitoring Project organization, from small to large is: Check item, Pagelet->page, Dashboard. In addition, you can assign one or more team to the check item to be responsible. This flexible form of organization makes the Edwin Ideal for managing a large number of monitoring projects
Why open source?
Edwin is the result of my six months, of course, from the function alone, in fact, not so long to develop. The main thing is that I've refactored the code a lot, and I've been thinking about the best practice of the Python project. Open source today and hopefully more python enthusiasts can learn something from it. If you are interested in this project, welcome fork or PR, if you like, please hit a star.
Project Address: Https://github.com/harryliu/edwin
Edwin is also a template project for all my Python projects
Yes, it's also a template project for all of my Python projects, and look at the following features to see that it's a very comprehensive project, and it's also good for adaptability. My new project is basically a necessary crop on the basis of Edwin.
Features include:
- It is a combination of console and Web application.
- The console section supports both Jython and Python. The Web Part requires Python.
- Contains the bat and SH template scripts to help launch the Python program.
- Web Application This block uses the Flask framework.
- Use the Flask blueprint to split different Web modules.
- Contains the design of some Web APIs.
- The web-side supports CherryPy deployment, and of course supports other WSGI servers.
- The front-end is based on Bootstrap, while considering the support for IE.
Highlights or best practice are:
- It has a better logging processing method, including log file location, rotate mechanism, allowing multiple processes to write simultaneously
- Its database processing module, supporting Jython/python while supporting Console/web application, without worrying about thread safety issues.
- It does not use SQLAlchemy, but uses my pydbrowfactory framework, can play your SQL level, avoids the ORM framework performance on the overhead
There's a picture of the truth
The dashboard page can see a summary of all the monitoring item.
UnitTest page, you can see all the monitoring item under the page.