uakfdotb / pybearmon

minimal server monitoring
https://bearmon.com/
GNU General Public License v3.0
27 stars 10 forks source link

bearmon

bearmon is a simple server monitoring tool designed to require minimal configuration.

Installation

Create a database from the schema defined in install.sql.

Setup

First, look at config.default.py. Configure database, mail, and other settings and save it as config.py.

Define a check. The one below will make sure the URL contains the given substring.

INSERT INTO checks (name, type, data) VALUES ('example.com', 'http_contains', 'url=http://example.com/critical.php&substring=GOOD');

Define a contact.

INSERT INTO contacts (type, data) VALUES ('email', 'email=admin@example.com');

Define an alert.

INSERT INTO alerts (check_id, contact_id) VALUES (1, 1);

Now, run bearmon:

python monitor.py

Note: all "data" values above use URL encoding scheme to encode key-value pairs. So, if your URL contains ampersand (&) symbols, they should be encoded as %26 in the database. See decode in util.py for how the data is decoded.

Multi-source monitoring

bearmon can be configured to monitor services from multiple sources. This way, if the source crashes, you don't get extraneous notifications.

There are two steps to setting this up. You can do the first step without doing the second and get a decent system.

Authors