Server Density plugin to monitor IronMQs
Project description
A plugin for the Server Density agent that monitors IronMQ queues using API version 3.
For details how to write one, read the official docs on plugins. Or find more official plugins.
Features
Monitors all queues of the given projects.
- Recorded metrics:
size (key: <projectid/-name>:<queuename>:size)
total_messages (key: <projectid/-name>:<queuename>:size)
Example for metric keys:
billingproject:invoicequeue:size billingproject:invoicequeue:total_messages
How to use
Install via PyPI or …
Get it from pypi, installing it somewhere:
pip install sd-ironmq
Symlink it to your plugin directory, on Debian/Ubuntu by default: /usr/bin/sd-agent/plugins
Install via curl
curl the latest version from GitHub directly into your Plugin directory:
curl https://raw.githubusercontent.com/engagespark/sd-ironmq/master/IronMQ.py > /usr/bin/sd-agent/plugins/IronMQ.py
Configure
Add this section to your /etc/sd-agent/config.cfg:
[IronMQ] host=mq-aws-eu-west-1-1.iron.io # comma separated list of project IDs project_ids=<your-project-ids> token=<your-token>
Restart the agent
On Debian/Ubuntu:
service sd-agent restart
Other configuration options
Metric Keys: Use Project Names instead of IDs
Let’s say you configured the queues of your billing project to be monitored:
project_ids=2342934839ai239ai89i
For a queue invoices, the metric keys would look like so:
2342934839ai239ai89i:invoices:size 2342934839ai239ai89i:invoices:total_messages
That’s not beautiful, nor understandable. Also it exposes IronMQ internals unnecessarily. Configure a name for the project ID like so:
2342934839ai239ai89i.name=billing
The name is then used in the keys:
billing:invoices:size billing:invoices:total_messages
Test locally
Create an example.cfg in the working directory:
[IronMQ] host=mq-aws-eu-west-1-1.iron.io project_ids=<your-project-ids> token=<your-token>
Run the plugin:
python IronMQ.py
Releasing
Prepare
Release a new version
Update CHANGELOG.
Update version in setup.py, commit, push.
Tag as that version, see git tag, push –tags
Build distributables:
$ python setup.py sdist bdist_wheel
Upload distributable to PyPI:
$ twine upload --sign dist/*
License
MIT, see LICENSE file, Copyright engageSPARK
Project details
Release history Release notifications | RSS feed
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
Hashes for sd_ironmq-0.1.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 775abdc99562cfa160168164a6d35648257c00bb42d3dfaef78ca05ef5f73ca8 |
|
MD5 | 526af310395ed855a008538790684d8c |
|
BLAKE2b-256 | a8841f7ae413025d77ec1c41002f20692fb4ee35f574eb2c07f24efced9f0d75 |