Skip to main content

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.

Source Distribution

mackerel.client-0.2.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

mackerel.client-0.2.1-py2.py3-none-any.whl (8.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file mackerel.client-0.2.1.tar.gz.

File metadata

  • Download URL: mackerel.client-0.2.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4

File hashes

Hashes for mackerel.client-0.2.1.tar.gz
Algorithm Hash digest
SHA256 665220ec311718a37b4594e21c9aede05c3adf53ce29981e6f9f05bee0ca2ebc
MD5 aaf142f45e845e0be30b60d2eac0833a
BLAKE2b-256 2bdbe84a04f19e8eb6a9091c06667039ba5381c70c5bfe9b8b1cd09f2719d864

See more details on using hashes here.

File details

Details for the file mackerel.client-0.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: mackerel.client-0.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4

File hashes

Hashes for mackerel.client-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 376138f053aaeaf98ac48b94c001c610f282e9074ef6bd1185245a0ee655bdb3
MD5 6475d76854bc1100bd1695263bd72273
BLAKE2b-256 df01ad6c1d822103e2f25cf41089a9c9ab0bd4f80cdcf3f0a79ae1edd21d52ca

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