Monitor the status of a set of services.
Project description
Guardian
Monitor the status of a set of services. Characteristics:
- definition of the services to monitor with a YAML file;
- tests performed by custom scripts (Shell scripts, Python scripts, etc.);
- no database and serverless;
- generation of HTML status page;
- email notifications;
- IRC notifications.
Installation
$ pipx install guardian
installed package guardian 0.2.1, Python 3.9.2
These apps are now globally available
- guardian
done! ✨ 🌟 ✨
You can now use Guardian from anywhere on your system.
Usage
$ guardian --help
usage: guardian [-h] -c CONFIG_FILE [--email] [--irc] [--html]
optional arguments:
-h, --help show this help message and exit
-c CONFIG_FILE, --config CONFIG_FILE
Configuration file (YAML).
--email Send notification of failed test(s) via email.
--irc Send notification of failed test(s) via IRC.
--html Generate a HTML status page.
In order to use notification via IRC you need to install irker. irker is very easy to install and to run, no configuration is needed. Once executed, irker will wait for JSON formatted messages on the port 6659. irker will automatically join the channel you have specified in the Guardian configuration file. irker will maintain connection state for multiple channels, avoiding obnoxious join/leave spam.
Configurations related to the sending of emails are in the same file.
Examples
The goal of the INI configuration file is to set global variables (IRC channel, SMTP server, etc.). If you do not create your own configuration file, the default one will be used automatically.
The services to monitor must be described in one (or several) YAML file(s).
$ cp guardian/config/config.cfg.sample guardian/config/config.cfg
$ cp guardian/config/services.yaml.example guardian/config/services.yaml
$ guardian -c guardian/config/services.yaml
+ Service Newspipe
- Test about page
✅
+ Service MOSP
- Test main page
✅
- Test search with API v2
✅
- Test API v1
✅
+ Freshermeat
- Test main page
✅
Execution time: 0.47015 seconds.
✨ 🌟 ✨ All 5 tests are successful.
With email notification:
$ guardian -c guardian/config/google-services.yaml --email
+ Google services
- Test GMail
✅
- Test Web search
❌
- Test Google Drive
✅
1 error occurred.
Execution time: 0:00:00.793011
Sending email notification...
You can combine email notifications, IRC notifications and HTML reporting.
License
Guardian is licensed under GNU Affero General Public License version 3.
Copyright (C) 2021-2025 Cédric Bonhomme
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file guardian-0.2.3.tar.gz
.
File metadata
- Download URL: guardian-0.2.3.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
08c8679ecf601668414284a294ffeb760aed12f3e7a5d76c9160c5217f01d373
|
|
MD5 |
8f82e52ad0573d6163bc61a44c7158f0
|
|
BLAKE2b-256 |
7e1221942f59da204735115a6bce7677bfdc01d3b7c8630f27cee6c081aec028
|
Provenance
The following attestation bundles were made for guardian-0.2.3.tar.gz
:
Publisher:
release.yml
on cedricbonhomme/guardian
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
guardian-0.2.3.tar.gz
-
Subject digest:
08c8679ecf601668414284a294ffeb760aed12f3e7a5d76c9160c5217f01d373
- Sigstore transparency entry: 172077198
- Sigstore integration time:
-
Permalink:
cedricbonhomme/guardian@fd613ad3ddc961b5c1fd983fa8881d9d9d8c4994
-
Branch / Tag:
refs/tags/v0.2.3
- Owner: https://github.com/cedricbonhomme
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
release.yml@fd613ad3ddc961b5c1fd983fa8881d9d9d8c4994
-
Trigger Event:
release
-
Statement type:
File details
Details for the file guardian-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: guardian-0.2.3-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
aef5f6253eda4ce58f31f734356c443a98c76823cf759569e17184035489b4b6
|
|
MD5 |
e05c01b1c063e10d37974e1329a7cf5f
|
|
BLAKE2b-256 |
dccf8e91450a306f012eb3e61082ecdf8a8751d35870c721d040ae9c16091f84
|
Provenance
The following attestation bundles were made for guardian-0.2.3-py3-none-any.whl
:
Publisher:
release.yml
on cedricbonhomme/guardian
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
guardian-0.2.3-py3-none-any.whl
-
Subject digest:
aef5f6253eda4ce58f31f734356c443a98c76823cf759569e17184035489b4b6
- Sigstore transparency entry: 172077200
- Sigstore integration time:
-
Permalink:
cedricbonhomme/guardian@fd613ad3ddc961b5c1fd983fa8881d9d9d8c4994
-
Branch / Tag:
refs/tags/v0.2.3
- Owner: https://github.com/cedricbonhomme
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
release.yml@fd613ad3ddc961b5c1fd983fa8881d9d9d8c4994
-
Trigger Event:
release
-
Statement type: