Skip to main content

Server Density plugin to monitor IronMQs

Project description

A plugin for the Server Density agent that monitors IronMQ queues using API version 3.

PyPI page | GitHub project

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

  1. Install twine and wheel:

    $ pip install -r requirements_dev.txt
  2. Setup your .pypirc.

Release a new version

  1. Update CHANGELOG.

  2. Update version in setup.py, commit, push.

  3. Tag as that version, see git tag, push –tags

  4. Build distributables:

    $ python setup.py sdist bdist_wheel
  5. Upload distributable to PyPI:

    $ twine upload --sign dist/*

License

MIT, see LICENSE file, Copyright engageSPARK

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

sd-ironmq-0.1.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

sd_ironmq-0.1.2-py2-none-any.whl (6.2 kB view details)

Uploaded Python 2

File details

Details for the file sd-ironmq-0.1.2.tar.gz.

File metadata

  • Download URL: sd-ironmq-0.1.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sd-ironmq-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2387a4b619b7c8d491606392c1dafaa4d0cdb4801765694977d6a97b61f14251
MD5 bc24a2aea81362eb3bb03e0311c4f2bb
BLAKE2b-256 c64c95b1b2f7ad35a2bb85e15465e168c28854604d55a0a27c49b28bac5c3e85

See more details on using hashes here.

File details

Details for the file sd_ironmq-0.1.2-py2-none-any.whl.

File metadata

File hashes

Hashes for sd_ironmq-0.1.2-py2-none-any.whl
Algorithm Hash digest
SHA256 775abdc99562cfa160168164a6d35648257c00bb42d3dfaef78ca05ef5f73ca8
MD5 526af310395ed855a008538790684d8c
BLAKE2b-256 a8841f7ae413025d77ec1c41002f20692fb4ee35f574eb2c07f24efced9f0d75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page