alive-checker is a small, modular Python program that can be used to monitor, log and alert to failed HTTP, LDAPS and SMTP servers.
Development began on 15/05/2021.
(C) 2021 Fred Boniface, distributed under the GPLv3 License, a copy of which is included with this software.
alive-checker is distributed under the GPLv3 license and is subject to all of it's terms, a copy of the license is available in this repository.
I will begin by giving a general overview of the software, then an overview of the settings available before delving into the modules and what they do.
alive-checker can monitor HTTP(S), LDAPS and (in the future) SMTP services. It can run checks against these services and then output this data to it's output modules - currently the aim is to be able to send email and telegram alerts as well as outputting the test results to JSON files to be served by a webserver enabling live status pages.
alive-checker contains the following modules. All of which are currently under construction and are not yet ready for use.
settings.py
- this module loads and parses thesettings.yaml
file.testHttp.py
- this module runs tests against HTTP/S services.testLdaps.py
- this module runs tests against LDAPS services.outputs.py
- this module parses all of the collected data and directs it to enabled output modules.outMail.py
- this module sends notifications via email.outTelegram.py- It has been decided to remove the outTelegram module due to the requirement to run a complete Telegram Bot within alive-checker, instead I will write a separate bot that can accept the JSON/CSV output of this program.outJson.py
- this module outputs data to a static JSON file.
All of these modules are managed by main.py
.
alive-checker can currently run various tests which, obviously, differ per service.
- Connection test
- Find defined string in HTTP response
- bind to the server
- Connect to SMTP server.