Skip to main content

Mackerel client implemented by Python.

Project description

https://travis-ci.org/HDE/py-mackerel-client.svg?branch=hde-dev

mackerel.clienthde is a python library to access Mackerel (https://mackerel.io/).

This project is forked from heavenshell/py-mackerel-client, which is initially ported from mackerel-client-ruby.

Install

$ pip install mackerel.clienthde

Dependency

mackerel.clienthde use requests, simplejson and click.

Usage

Get hosts

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key')
hosts = client.get_hosts()

Get host

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key')
host = client.get_host('<hostId>')

Update host status

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key')
# Poweroff.
self.client.update_host_status('<hostId>', 'poweroff')
# Standby.
self.client.update_host_status('<hostId>', 'standby')
# Working.
self.client.update_host_status('<hostId>', 'working')
# Maintenance.
self.client.update_host_status('<hostId>', 'maintenance')

Retire host

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key')
self.client.retire_host('<hostId>')

Get latest metrics

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key')
# Get hostId A's and hostId B's loadavg5, memory.free value.
metrics = self.client.get_latest_metrics(['<hostId A>', '<hostId B>'],
                                         ['loadavg5', 'memory.free'])

Post metrics

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key>')
metrics = [
    {
        'hostId': '<hostId>', 'name': 'custom.metrics.loadavg',
        'time': 1401537844, 'value': 1.4
    },
    {
        'hostId': '<hostId>', 'name': 'custom.metrics.uptime',
        'time': 1401537844, 'value': 500
    }

]
# Post `custom.metrics.loadavg` and `custom.metrics.uptime` to `hostId`.
client.post_metrics(metrics)

Post service metrics

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key>')
metrics = [
    {
        'name': 'custom.metrics.latency',
        'time': 1401537844, 'value': 0.5
    },
    {
        'name': 'custom.metrics.uptime',
        'time': 1401537844, 'value': 500
    }
]
# Post 'custom.metrics.latency' and 'custom.metrics.uptime' to `service_name`.
self.client.post_service_metrics('service_name', metrics)

Get monitors [NEW in this forked version]

from mackerel.clienthde import Client

# Alternatively, you can set MACKEREL_APIKEY as environment variable
# And simply call "client = Client()"
client = Client(mackerel_api_key='<Put your API key')
monitors = client.get_monitors()

CLI

Get host(s) information from hostname or service, role.

$ mkr.py info [--name foo] [--service service] [--role role]

Set status of a host.

$ mkr.py status --host-id foo --status working

Retire a host.

$ mkr.py retire --host-id foo

Get status of a host.

$ mkr.py status --host-id foo

Authentication

$ export MACKEREL_APIKEY=foobar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mackerel.clienthde, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size mackerel.clienthde-0.0.2.zip (13.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page