Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Mackerel client implemented by Python.

Project description

https://travis-ci.org/heavenshell/py-mackerel-client.svg?branch=master

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

This client is Ported from mackerel-client-ruby.

Install

$ pip install mackerel.client

Dependency

mackerel.client use requests, simplejson and click.

Usage

Get hosts

from mackerel.client import Client

client = Client(mackerel_api_key='<Put your API key')
host = client.get_hosts()

Get host

from mackerel.client import Client

client = Client(mackerel_api_key='<Put your API key')
host = client.get_host('<hostId>')

Update host status

from mackerel.client import 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.client import Client

client = Client(mackerel_api_key='<Put your API key')
self.client.retire_host('<hostId>')

Get latest metrics

from mackerel.client import 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.client import 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.client import 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)

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.client, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size mackerel.client-0.1.0-py2.py3-none-any.whl (8.9 kB) File type Wheel Python version 3.6 Upload date Hashes View hashes
Filename, size mackerel.client-0.1.0.tar.gz (6.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page