Skip to main content
monscale
========

Small system meant to monitor services and act on them based on rules. Monscale is a Django app.

The app is able to actively monitor services and to passively listen to alerts from other systems.
The metrics monitored and the alerts received are sent to a rule engine. Based on the rules, the system
sends scale actions to the monitored systems. Metrics and actions are implemented by mappings, thus
the development of new actions and metrics is straight-forward.

The pic below shows the a summary of the components.

![alt tag](http://blog.digitalhigh.es/wp-content/uploads/2014/05/components-1024x526.png)

Each MonitoredService is the relation of:

- A metric.
- A condition for that metric
- A time the condition must be True
- A wisdom time, this means time from the last triggered action while more actions wont be triggered.
- An action must be triggered if the condition was True more seconds than the
shown by the threshold.

Both actions and alerts, are queued in an Redis queue, waiting for the workers to retrieve them from
the queues. This makes the system scalable itself.

Featured Service Escalation Actions
--------------------------

- Cloudforms 3.0:
- Send virtual machine provision request
- Amazon Web Services
- Publish messages to SNS topic

Featured Monitoring Metrics
--------------------------

- Retrieve SNMPv1 and SNMPv2 OID
- Retrieve Redis list length

Installation
------------

The Django app can be installed just by issuing the following command, which installs every dependency

```
pip install monscale
```

The project also needs the binding from netsnmp installed on the system. Under Ubuntu the package for this
is python-netsnmp, para instalarlo:

```
apt-get install python-netsnmp
```

Once installation is finished it's time to create the Django project under which the app will run. It
is recomended to do this by issuing the following command, as it not only creates the project, but
it also adapts its settings.py file with the configuration needed by the app.

```
monscale_deploy
```

Note that monscale uses Redis list to store some of its operational data, therefore either
install Redis and get it running, or use a predeployed Redis server.

You'll find the settings needed to connect to the Redis server at the project
settins.py file.

Don't forget to set the SQL DB and other configurations of your choice.

Finally populate the DB (from project's dir):

```
./manage.py syncdb
```

Usage
-----

To start the monitor daemon just issue the following command at the project's dir:

```
./manage.py evaluate_context
```

To start the actions daemon issue the following command at the project's dir:

```
./manage.py action_worker
```

To start the alerts daemon issue the following command at the project's dir:

```
./manage.py traps_worker
```

To start the development web management interface (from project's dir):

```
./manage.py runserver
```

Release files for monscale 0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for monscale 0.12
File Size Uploaded
monscale-0.12.tar.gz 25.1 kB Details

Release files / monscale-0.12.tar.gz

Download URL monscale-0.12.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4e12b60e46be2970b50855a4c40335f6919bf50a1d5fcb02e9699c46cf1d7a88
BLAKE2b-256 checksum
How to use checksums
f2b8791769b4ef0afea272d23741c73d7a4203addb0ceb181bca180141193b7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.12 This release

1 release file

0.11

1 release file

0.10

1 release file

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.5

1 release file

0.4

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page