Stub of a simple python monitoring system
- Python
- All dependencies in requirements.txt
- pip install -r requirements.txt
- Copy config.py from config.py.example and edit for your usage
- Run ./aammonit.py
- Enjoy!
Globally
-
The concept is supposed to extend to any monitorable thing:
- notify if price of bitcoin exceeds X
- notify if outside temperature drops below X
- notify if html page's DOM element changed
- etc.
-
Create an interface class, that can control aammonit as a whole (dynamically add notifiers, services, stop, start, etc)
- Subclasses of this can be a terminal controller, IRC/XMPP controller (but then have to re-use the notifier as a controller, so need a way to communicate).
- Where/how is the configuration stored? sqlite? json overwrite on each config change/save? etc.
-
Maybe introduce metering, save results of each check, make them available to access in the interfaces
- i.e. IRC/XMPP interface:
<user> .view service_check_1 <aammonit> Last metrics for service_check_1: 0.1 0.2 0.1 0.15
- Web interface would display graphs, etc.
Monitors
- Every monitor should be optionally threaded, with an individual interval of checking, for high importance service checks
- Add "retries" for checks until declared down
- Detect self-connectivity issues before saying that everything is down
- Due to the stub nature of this project, there are a lot of things to cover that aren't covered here.
Andrei Marcu, http://andreim.net/